python 使用SMTP发送邮件
from email.mime.text import MIMEText
from email.header import Header
from email.utils import formataddr
import smtplib
# SMTP 服务配置
host = "smtp.mxhichina.com" # SMTP服务器
user = "" # SMTP服务器登录用户名
passwd = "" # SMTP服务器密码
port = 465 # SMTP服务SSL端口号
receivers = ['', ''] # 收件人邮箱列表
def sendmail(mail_host, mail_user, mail_pass, mail_port, recipients, subject, content):
# 邮件内容设置
message = MIMEText(content, 'plain', 'utf-8')
message['From'] = formataddr((str(Header('消息', 'utf-8')), mail_user)) # 发件人信息
# 接收者信息,注意,这里需要将所有收件人的邮箱转换为一个字符串,每个邮箱地址用逗号分隔
message['To'] = ", ".join(recipients) # 调整为多个收件人
message['Subject'] = Header(subject, 'utf-8')
try:
smtpObj = smtplib.SMTP_SSL(mail_host, mail_port) # 使用SSL连接
smtpObj.login(mail_user, mail_pass)
# 发送邮件,这里需要传入收件人列表
smtpObj.sendmail(mail_user, recipients, message.as_string())
print("邮件发送成功")
except smtplib.SMTPException as e:
print(f"邮件发送失败: {e}")
finally:
smtpObj.quit() # 退出SMTP服务器
# 调用函数发送邮件
sendmail(host, user, passwd, port, receivers, '我是猪头', '我是内容')