自学内容网 自学内容网

python实现发送邮件

使用python语言实现发送邮件的功能,如代码所示,可添加附件

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
from email.utils import COMMASPACE
from email.header import Header

# 邮件服务器配置
SMTP_SERVER = 'smtp.163.com'
#发送邮件服务器:smtp.qq.com,使用SSL,端口号465或587
SMTP_PORT = 587
SMTP_USER = '发件人@163.com'
SMTP_PASSWORD = '邮箱授权码'

# 收件人和邮件内容配置
TO = ['收件人@163.com']
SUBJECT = '邮件标题'
BODY = '邮件正文'

# 创建邮件对象
msg = MIMEMultipart()
msg['From'] = SMTP_USER
msg['To'] = COMMASPACE.join(TO)
msg['Subject'] = Header(SUBJECT, 'utf-8')

# 添加邮件正文
msg.attach(MIMEText(BODY, 'plain', 'utf-8'))

# 添加附件
filename = '111.pdf'
with open(filename, 'rb') as f:
    part = MIMEApplication(f.read(), Name=filename)
    part['Content-Disposition'] = 'attachment; filename="%s"' % filename
    msg.attach(part)

# 发送邮件
try:
    smtp = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)
    smtp.starttls()
    smtp.login(SMTP_USER, SMTP_PASSWORD)
    smtp.sendmail(SMTP_USER, TO, msg.as_string())
    smtp.quit()
    print('邮件发送成功.')
except Exception as e:
    print('邮件发送失败:', e)

若使用QQ邮箱打开stmp功能,发送邮件服务器:smtp.qq.com,使用SSL,端口号465或587,测试587端口可用
在这里插入图片描述
若使用163邮箱打开stmp功能,发送邮件服务器:smtp.163.com,使用SSL,端口号465或994或25,测试25端口可用
在这里插入图片描述
126邮箱设置同163邮箱,不再赘述,25端口可发送邮件


原文地址:https://blog.csdn.net/qq_42092076/article/details/140572363

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!