python3发送邮件
1.登录163邮箱
(1)前提条件
(2)代码部分
# coding:utf-8
import smtplib
from email.mime.text import MIMEText
from email.header import Header
from email.utils import formataddr
sender = '12345@163.com' # 邮件发送者的邮箱地址
receivers = '45678@qq.com' # 邮件接收者的邮箱地址
# 三个参数:第一个为邮件正文文本内容,第二个 plain 设置文本格式,第三个 utf-8 设置编码
message = MIMEText('这是一封正常的测试邮件, 并不是异常的!', 'plain', 'utf-8')
message['From'] = formataddr(["测试邮件", sender]) # 发送方
message['To'] = formataddr(["测试邮件", receivers]) # 接收方
subject = '这是一封正常的测试邮件, 并不是异常的!'
message['Subject'] = Header(subject, 'utf-8') # 邮件的主题
smtpObj = smtplib.SMTP('smtp.163.com', port=25)
smtpObj.login(user=sender, password='12345') # password并不是邮箱的密码,而是开启邮箱的授权码
smtpObj.sendmail(sender, receivers, message.as_string()) # 发送邮件
2.登录qq邮箱
(1)前置条件
(2)代码部
import smtplib
from email.mime.text import MIMEText
from email.header import Header
msg_from = '12345@qq.com'
passwd = 'xxxxxxxx' #授权码
msg_to = '45678@qq.com'
subject = "python邮件测试"
content = "这是我使用python smtplib及email模块发送的邮件"
msg = MIMEText(content)
msg['Subject'] = subject
msg['From'] = "发送方"
msg['To'] = "接收方"
try:
s = smtplib.SMTP_SSL("smtp.qq.com", 465)
s.login(msg_from, passwd)
s.sendmail(msg_from, msg_to, msg.as_string())
print("发送成功")
except s.SMTPDataError as e:
print("发送失败")
finally:
s.quit()