一、发送普通文本步骤
1、连接邮箱服务器,登陆邮箱。
连接邮箱服务器:smtplib.SMTP_SSL(邮箱连接地址,端口号)
163邮箱连接地址:smtp.163.com
qq邮箱连接地址: smtp.qq.com
端口号:465/25
登陆邮箱:连接对象.login('qq/163账号’,授权码)
#连接163邮箱服务器
con = smtplib.SMTP_SSL('smtp.163.com', 465)
#登陆邮箱
con.login('123456789@163.com','xxxxx授权码xxxxx')
2、准备数据
创建邮件对象
msg=MIMEMultipart() #创建邮件对象
设置邮件主题、发送人、接收人
subject=Header('SMTP发送邮件','utf-8').encode() #邮件主题
msg['Subject']=subject
msg['From']='xxxxxxxxx@163.com <xxxxxxxxx@163.com>' #发送人
msg['To']='xxxxxxxxx@qq.com' #收件人
构建文本内容
文本类型-plain(普通文本)、html、base64(二进制文件、附件)
#MIMEText(文本内容,文本类型,编码方式)
text=MIMEText('Python发送邮件','plain','utf-8') #文本对象
msg.attach(text) #将文本对象和邮件对象关联起来
3、发送链接
try:
#邮件连接对象.sendmail(发件人,收件人,字符串类型的邮件对象)
con.sendmail('xxxxxxxxx@163.com', 'xxxxxxxxx@qq.com', msg.as_string()) # 把邮件对象转化为字符串方式发送
print("恭喜你!邮件发送成功")
con.quit()
except smtplib.SMTPException as e:
print("Error 无法发送邮件")
print(e)