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("邮件发送失败")
五、发送邮件成功
金鳞岂是池中物,一遇风云便化龙。