关于Flask 邮件发送,支持多人发送

Posted adalia-ting

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Flask 邮件发送,支持多人发送相关的知识,希望对你有一定的参考价值。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import smtplib
from email.mime.text import MIMEText
from email.header import Header


class SendEmail(object):
    def __init__(self, mailserver, username_send, password, port, server_type):
        self.mailserver = mailserver     # 邮箱服务器地址
        self.username_send = username_send     # 邮箱用户名
        self.password = password     # 邮箱密码:需要使用授权码
        self.port = port
        self.server_type = server_type


    def make_mail(self):
        self.mail = MIMEText(self.content, ‘plain‘, ‘utf-8‘)
        self.mail[‘Subject‘] = Header(self.header, ‘utf-8‘)
        self.mail[‘From‘] = self.username_send    # 发件人
        self.mail[‘To‘] = ",".join(self.msg_to)       # 收件人;[]里的三个是固定写法,别问为什么,我只是代码的搬运工

    def send_email(self,username_recv, content, header):
        self.msg_to = username_recv.split(",")
        # print self.msg_to
        self.content = content
        self.header = header
        self.username_recv = username_recv     # 收件人,多个收件人用逗号隔开
        self.make_mail()

        try:
             smtp = smtplib.SMTP(self.mailserver, self.port)    # 连接邮箱服务器,smtp的端口号是25
             smtp.login(self.username_send, self.password)     # 登录邮箱
             smtp.sendmail(self.username_send, self.msg_to,
             self.mail.as_string())     # 参数分别是发送者,接收者,第三个是把上面的发送邮件的内容变成字符串
             smtp.quit()
             return True
        except smtplib.SMTPException:
             return False


if __name__ == ‘__main__‘:
    a = SendEmail( "smtp.163.com", "xxxxxxxx@163.com", "******* ", 25, "SMTP")
    print a.send_email("xxxxxxx@qq.com",".这是测试内容","邮件标题")

# print "success..."

以上是关于关于Flask 邮件发送,支持多人发送的主要内容,如果未能解决你的问题,请参考以下文章

Flask 教程 第十章:邮件支持

Python向多人发送、抄送带附件的邮件(含详细代码)

Flask 邮件发送

flask 邮件发送

Flask发送注册邮件

flask实战-个人博客-电子邮件支持