邮箱认证

邮箱认证fromemail.headerimportHeaderfromemail.mime.textimportMIMETextfromemail.mime.imageimportMIMEImagefromemail.mime.baseimportMIMEBasefrom

大家好,欢迎来到IT知识分享网。邮箱认证"

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://yundeesoft.com/34624.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信