python3发送邮件

1.登录163邮箱

(1)前提条件

python 发邮件 收件人 python3发邮件_python


python 发邮件 收件人 python3发邮件_python_02


(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)前置条件

python 发邮件 收件人 python3发邮件_python 发邮件 收件人_03


python 发邮件 收件人 python3发邮件_python发送邮件_04


(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()