1连接邮箱服务器
连接对象 = smtplib.SMTP_SSL(服务器地址,邮箱服务通过的端口)
- 服务器地址:smtp.163.com(163邮箱)、smtp.qq.com(qq邮箱)
- 邮箱服务端⼝:465或者25
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.header import Header
#1)连接 服务器
conn = smtplib.SMTP_SSL("smtp.qq.com",465)
#2)登入
conn.login('QQ邮箱',""授权码")
#3)生产发邮件对象
email_obj = MIMEMultipart()
#4)设置邮件主题
#email_obj["subject"] = Header(邮件主题,编码方式)
email_obj['Subject'] = Header('快过来快过来我宣布个事!',"utf-8").encode()
#5)正文内容
用于存放内容
context = "adsfdasfasfasfdasf"
可以以用html方式打开
context = MIMEText(内容字符串,"声明什么方式打开",编码方式)
#6)准备发送内容
email_obj.attach(context)
#7)正式发送出去(发送人,接收人,内容)
conn.sendmail(发送者邮箱,["接收邮箱列表"],n内容)
conn.sendmail('1171085354@qq.com',["xxxx@qq.com","xxxx@qq.com","xxxxx@qq.com"],email_obj.as_string())
#封装邮箱函数方法
import smtplib
from email.mime.multipart import MIMEMultipart
from email.header import Header
from email.mime.text import MIMEText
def send_mail_demo(sender,to,subject,context):
# 连接邮件服务器
conn = smtplib.SMTP_SSL('smtp.qq.com', 465)
# 登录
conn.login('@qq.com',"") # 用户名 和授权码
# 生成邮件发送对象
email_obj = MIMEMultipart()
# 邮件主题
email_obj['Subject'] = Header(subject, 'utf-8').encode()
# 内容
context = MIMEText(context, _charset='utf-8')
email_obj.attach(context)
# 发送邮件
conn.sendmail(sender,to,email_obj.as_string())
带附件的邮件
import smtplib
from email.mime.multipart import MIMEMultipart
from email.header import Header
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
def send_mail_demo(sender,to,subject,context,imageName):
# 连接邮件服务器
conn = smtplib.SMTP_SSL('smtp.qq.com', 465)
# 登录
conn.login("","") # 用户名 和授权码
# 生成邮件发送对象
email_obj = MIMEMultipart()
# 邮件主题
email_obj['Subject'] = Header(subject, 'utf-8').encode()
# 内容
context = MIMEText(context, _charset='utf-8')
with open(imageName,'rb') as fp:
data = fp.read()
context1 = MIMEImage(data)
context1['Content-Disposition'] = 'attechment;filename="image.png"' # image.png设置对方看到的图片的名称
email_obj.attach(context1)
# 发送邮件
conn.sendmail(sender,to,email_obj.as_string())