话不多说,能否发送成功,主要在于密码设置是否正确!这里拿163邮箱来说,需要用到安全密码,而不是邮箱的登录密码:
安全密码如何获得?
结束!放上代码,具体参数解释的很详细了~
import smtplib
from email.mime.text import MIMEText
from email.header import Header
def send_mail(content):
from_addr = 'x@163.com'
password = 'VHAAMWMIC*****'
to_addr = 'x@163.com'
smtp_server = 'smtp.163.com'
# 邮箱正文内容,第一个参数为内容,第二个参数为格式(plain 为纯文本),第三个参数为编码
msg = MIMEText(content, 'plain', 'utf-8')
# 邮件头信息
msg['From'] = Header(from_addr)
msg['To'] = Header(to_addr)
msg['Subject'] = Header('python test')
# 开启发信服务,这里使用的是加密传输
server = smtplib.SMTP_SSL(host=smtp_server)
server.connect(smtp_server, 465)
# 登录发信邮箱
server.login(from_addr, password)
# 发送邮件
server.sendmail(from_addr, to_addr, msg.as_string())
# 关闭服务器
server.quit()
send_mail("你好")