首页 > 其他 > 详细

邮箱认证

时间:2019-09-09 13:35:15      阅读:95      评论:0      收藏:0      [点我收藏+]
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 = ‘‘‘
    \n\t You are most welcome!
    \n\t 点击下面的按钮激活邮箱
    ‘‘‘
        # text = MIMEText(signature, ‘plain‘)  # 签名
        # msg.attach(text)

        # 正文-图片 只能通过html格式来放图片,所以要注释25,26行
        mail_msg = f‘‘‘
        
    <p>\n\t You are most welcome!</p>
    <p>\n\t 点击下面的按钮激活邮箱</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:\rent_house\media\banner\3.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:\rent_house\media\banner\3.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:\rent_house\apps\utils\response.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()

 

邮箱认证

原文:https://www.cnblogs.com/zhouze/p/11490949.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!