zoukankan      html  css  js  c++  java
  • 邮箱认证

    from email.header import Header
    from email.mime.text import MIMEText
    from email.mime.image import MIMEImage
    from email.mime.base import MIMEBase
    from email.mime.multipart import MIMEMultipart
    from email import encoders
    import smtplib
    import time

    class EmailPro:
    def send_mail(self, to_email, code):
    email_host = 'smtp.163.com' # 服务器地址 163邮箱"smtp.163.com" qq邮箱"smtp.qq.com"都需要开通smtp权限
    sender = 'xxx@163.com' # 发件人(自己的邮箱)
    password = 'xxx' # 邮箱授权码
    receiver = 'xxx@qq.com' # 收件人
    msg = MIMEMultipart()
    now = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
    subject = now + '邮箱激活'

        h = Header('发件人昵称自定义', 'utf-8')
        h.append('<xxx@163.com>', 'ascii')
        msg["From"] = h
        msg['Subject'] = subject  # 标题
        msg['To'] = 'xxx'  # ...收件人...
    
        signature = '''
    
    	 You are most welcome!
    
    	 点击下面的按钮激活邮箱
    '''
        # text = MIMEText(signature, 'plain')  # 签名
        # msg.attach(text)
    
        # 正文-图片 只能通过html格式来放图片,所以要注释25,26行
        mail_msg = f'''
        
    <p>
    	 You are most welcome!</p>
    <p>
    	 点击下面的按钮激活邮箱</p>
    <button style="background-color: #31708f; border-radius: 3px"><a href="http://127.0.0.1:8000/user/email/active/?email={to_email}&code={code}" style="color: white;font-size: 25px;text-decoration: none">激活邮箱</a></button>
    <p><img src="cid:image1"></p>
    '''
        msg.attach(MIMEText(mail_msg, 'html', 'utf-8'))
        # 指定图片为当前目录
        fp = open(r'E:
    ent_housemediaanner3.jpg', 'rb')
        msgImage = MIMEImage(fp.read())
        fp.close()
        # 定义图片 ID,在 HTML 文本中引用
        msgImage.add_header('Content-ID', '<image1>')
        msg.attach(msgImage)
    
        # ctype = 'application/octet-stream'
        # maintype, subtype = ctype.split('/', 1)
        # 附件-图片
        # image = MIMEImage(open(r'E:
    ent_housemediaanner3.jpg', 'rb').read(), _subtype=subtype)
        # image.add_header('Content-Disposition', 'attachment', filename='img.jpg')
        # msg.attach(image)
        # 附件-文件
        # file = MIMEBase(maintype, subtype)
        # file.set_payload(open(r'E:
    ent_houseappsutils
    esponse.py', 'rb').read())
        # file.add_header('Content-Disposition', 'attachment', filename='test.txt')
        # encoders.encode_base64(file)
        # msg.attach(file)
    
        # 发送
        smtp = smtplib.SMTP()
        smtp.connect(email_host, 25)
        smtp.login(sender, password)
        smtp.sendmail(sender, to_email, msg.as_string())
        smtp.quit()
        print('success')
    

    email_worker = EmailPro()

  • 相关阅读:
    ECS内网穿透
    设置服务器ssh会话时间
    VScode插件
    Linux拷贝U盘文件(命令行)
    打开IDM下载视频时弹出防火墙阻止下载,解决方案
    如何将jmeter.bat命令文件固定到任务栏
    jmeter安装教程
    安装JDK8.0(JDK1.8) & 环境变量配置 & idea中配置java路径
    教你不用任何第三方软件实现任务栏居中
    [Unity优化]gc03:代码优化
  • 原文地址:https://www.cnblogs.com/huanghongzheng/p/11671371.html
Copyright © 2011-2022 走看看