法一:
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders
# 设置邮件服务器信息
mail_host = 'smtp.163.com' # SMTP 服务器
mail_user = '15290201609@163.com' # 发件人邮箱
mail_pass = 'TANEXSOXKSBSGTLWp' # 发件人邮箱密码
# 设置邮件内容
subject = '邮件主题'
content = '邮件正文'
# 创建邮件对象
msg = MIMEMultipart()
msg['From'] = mail_user
msg['To'] = '1210353303@qq.com' # 收件人邮箱
msg['Subject'] = subject
# 添加邮件正文
msg.attach(MIMEText(content, 'plain', 'utf-8'))
# 添加附件(如果有)
filename = 'example.txt' # 附件文件名
attachment = open(filename, 'rb').read()
# 创建 MIMEBase 对象,添加附件
mime_base = MIMEBase('application', 'octet-stream')
mime_base.set_payload(attachment)
encoders.encode_base64(mime_base)
mime_base.add_header('Content-Disposition', f'attachment; filename={filename}')
# 将附件添加到邮件中
msg.attach(mime_base)
# 发送邮件
try:
server = smtplib.SMTP_SSL(mail_host, 465)
server.login(mail_user, mail_pass)
server.sendmail(mail_user, msg['To'], msg.as_string())
server.quit()
print('邮件发送成功!')
except smtplib.SMTPException as e:
print(f'Error: 无法发送邮件,原因:{e}')
法二:
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email import encoders
# 设置邮件服务器信息
mail_host = 'smtp.163.com' # SMTP 服务器
mail_user = '15290201609@163.com' # 发件人邮箱
mail_pass = 'TANEXSOXKSBSGTLWp' # 发件人邮箱密码
to_mail_user = '1210353303@qq.com' # 收件人邮箱
# 设置邮件内容
subject = '邮件主题'
content = '邮件正文'
# 创建邮件对象
msg = MIMEMultipart()
msg['From'] = mail_user
msg['Subject'] = subject
# 添加邮件正文
msg.attach(MIMEText(content, 'plain', 'utf-8'))
# 添加附件(如果有)
filename = 'example.txt' # 附件文件名
attachment = open(filename, 'rb').read()
# 创建 MIMEBase 对象,添加附件
mime_base = MIMEBase('application', 'octet-stream')
mime_base.set_payload(attachment)
encoders.encode_base64(mime_base)
mime_base.add_header('Content-Disposition', f'attachment; filename={filename}')
# 将附件添加到邮件中
msg.attach(mime_base)
# 发送邮件
try:
server = smtplib.SMTP_SSL(mail_host, 465)
server.login(mail_user, mail_pass)
server.sendmail(mail_user, to_mail_user, msg.as_string())
server.quit()
print('邮件发送成功!')
except smtplib.SMTPException as e:
print(f'Error: 无法发送邮件,原因:{e}')
法三:
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
def send_email1(content, theme, to_mail):
# ### 1.邮件内容配置 ###
# 邮件文本
msg = MIMEText(content, 'html', 'utf-8')
# 邮件上显示的发件人
msg['From'] = formataddr(["中国科学院", "15290201609@163.com"])
# 邮件上显示的主题
msg['Subject'] = theme
# ### 2.发送邮件 ###
server = smtplib.SMTP_SSL("smtp.163.com")
server.login("15290201609@163.com", "TANEXSOXKSBSGTLWp")
server.sendmail("15290201609@163.com", to_mail, msg.as_string())
server.quit()
text = """
白日依山尽,黄河入海流。
欲穷千里目,更上一层楼。
"""
send_email1(text, '好诗鉴赏', 'liyanzhao@mcake.com')
文档更新时间: 2023-11-16 15:06 作者:李延召