python实现邮件发送

python实现邮件发送

一、import导入需要的库

import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr

二、创建收发邮箱变量

my_sender = '111111111@qq.com'  # 发件人邮箱账号
my_pass = 'wwwwwwwwwwww'  # 发件人邮箱密码
my_user = '2222222222@qq.com'  # 收件人邮箱账号

三、创建Email类

class Email:

    def mail(self):
        """
        python实现邮件发送
        :return:
        """
        ret = True
        try:
            msg = MIMEText('填写邮件内容', 'plain', 'utf-8')
            msg['From'] = formataddr(["黎明前的雨夜", my_sender])  # 括号里的对应发件人邮箱昵称、发件人邮箱账号
            msg['To'] = formataddr(["『纤雨初晴』", my_user])  # 括号里的对应收件人邮箱昵称、收件人邮箱账号
            mail_msg = """
            <p>Python 邮件发送测试...</p>
            <p><a href="http://www.runoob.com">这是一个链接</a></p>
            """
            msg = MIMEText(mail_msg, 'html', 'utf-8')  # 构造邮件,内容为hello world
            msg['Subject'] = "邮件的主题"  # 邮件的主题,也可以说是标题

            server = smtplib.SMTP_SSL("smtp.qq.com", 465)  # 发件人邮箱中的SMTP服务器,端口是25
            server.login(my_sender, my_pass)  # 括号中对应的是发件人邮箱账号、邮箱密码
            server.sendmail(my_sender, [my_user, ], msg.as_string())  # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
            server.quit()  # 关闭连接

        except Exception as e:  # 如果 try 中的语句没有执行,则会执行下面的 ret=False
            ret = False
        return ret

四、创建if __name__调试执行发送邮件是否成功

if __name__ == '__main__':
    """
    调用类中的方法执行
    """
    EM = Email()
    ret = EM.mail()
    if ret:
        print("邮件发送成功")
    else:
        print("邮件发送失败")

五、发送邮件成功

posted @ 2022-09-08 11:13  码·蚁  阅读(32)  评论(0编辑  收藏  举报