当前位置 : 主页 > 手机开发 > ROM >

邮箱认证

来源:互联网 收集:自由互联 发布时间:2021-06-10
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
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 = [email protected]  # 发件人(自己的邮箱)
        password = xxx  # 邮箱授权码
        receiver = [email protected]  # 收件人
        msg = MIMEMultipart()
        now = time.strftime(%Y-%m-%d %H:%M:%S, time.localtime(time.time()))
        subject = now + 邮箱激活

        h = Header(发件人昵称自定义, utf-8)
        h.append(<[email protected]>, 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(rE:\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()
网友评论