南京网站设计案例俄罗斯引擎搜索
拿163邮箱举例
一、开启邮箱的POP3/SMTP服务并拿到授权密码
要开启POP3/SMTP服务
复制授权密码,一会要使用
二、发送邮件
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart# 我的邮箱配置
mail_host = "smtp.163.com"
mail_user = "test@163.com"
mail_pass = "KThe***********"sender = "test@163.com"
# 收件人的邮箱
receivers = ["test@163.com"]# 邮件的内容
message = MIMEText("你好", "plain", "utf-8")
message["Subject"] = "2025年第一季度报告"
# 想要收件人看到的邮箱名称
message["Form"] = "神秘人"
# 要发送给的人
message["To"] = receivers[0]# 正式发送邮件
try:smtpObj1 = smtplib.SMTP_SSL(mail_host, 465)# smtpObj1.set_debuglevel(1)smtpObj1.login(mail_user, mail_pass)smtpObj1.sendmail(sender, receivers, message.as_string())smtpObj1.quit()print("邮件发送成功")
except Exception as e:print("error", e)
三、发送包含附件的邮件
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart# 我的邮箱配置
mail_host = "smtp.163.com"
mail_user = "test@163.com"
mail_pass = "KTh************"sender = "test@163.com"
# 收件人的邮箱
receivers = ["test@163.com"]# 邮件的内容
# message = MIMEText("你好", "plain", "utf-8")
# MIMEMultipart()可以用来传输附件,也可以用来传输文本
message = MIMEMultipart()
message["Subject"] = "2025年第一季度报告"
# 想要收件人看到的邮箱名称
message["Form"] = "神秘人"''
# 要发送给的人
message["To"] = receivers[0]
content = MIMEText('附件请接收', 'plain', 'utf-8')
message.attach(content)with open('./dataFile/测试文件转换.pdf', 'rb') as f:att = MIMEText(f.read(), 'base64', 'utf-8')att['Content-Type'] = 'application/octet-stream'att["Content-Disposition"] = 'attachment; filename=test.pdf'message.attach(att)# 正式发送邮件
try:smtpObj1 = smtplib.SMTP_SSL(mail_host, 465)# smtpObj1.set_debuglevel(1)smtpObj1.login(mail_user, mail_pass)smtpObj1.sendmail(sender, receivers, message.as_string())smtpObj1.quit()print("邮件发送成功")
except Exception as e:print("error", e)
运行结果: