Python发送邮件(smtplib)

import smtplib  #加载smtplib模块
from email.mime.text import MIMEText
from email.utils import formataddr
import time


my_sender='发件人邮箱账号' #发件人邮箱账号
my_password = '发件人邮箱密码'
my_user=['收件人邮箱账号1', '收件人邮箱账号2'] #收件人邮箱账号


# 发送邮件
def mail(msgtitle, msgcontent):
    ret=True
    # 尝试5次
    times = 5
    while times>0 and ret==True:
        try:
            msg=MIMEText(msgcontent,'plain','utf-8')
            msg['From']=formataddr(["xiaoming",my_sender])   #括号里的对应发件人邮箱昵称、发件人邮箱账号
            msg['To']=formataddr(["xiaohong",';'.join(my_user)])   #括号里的对应收件人邮箱昵称、收件人邮箱账号
            msg['Subject']= msgtitle #邮件的主题,也可以说是标题
            server=smtplib.SMTP("邮箱服务器地址",25)  #发件人邮箱中的SMTP服务器,端口一般是25
            server.login(my_sender, my_password)    #括号中对应的是发件人邮箱账号、邮箱密码
            server.sendmail(my_sender,[';'.join(my_user),],msg.as_string())   #括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
            server.quit()   #这句是关闭连接的意思
            ret = False
            times = -10
        except Exception:   #如果try中的语句没有执行,则会执行下面的ret=False
            time.sleep(3)
            times -= 1
    if times == 0:
        return False
    else:
        return True


ret=mail('邮件主题', '邮件内容')
if ret:
    print("ok") #如果发送成功则会返回ok,稍等20秒左右就可以收到邮件
else:
    print("filed")  #如果发送失败则会返回filed

你可能感兴趣的:(Python常用模块)