下面是Python实现邮件发送的完整实例教程:
一、准备工作
在开始实现Python邮件发送之前,需要先准备以下两个东西:
- SMTP服务器地址和端口号
- 发送邮件所需的发件人地址和授权码
这些信息需要联系邮件服务提供商(如163、Gmail等)获取。
二、安装所需库
Python实现邮件发送需要安装smtplib、email和mime等库,可以通过pip命令安装。
pip install smtplib
pip install email
pip install mime
三、编写代码
1. 发送纯文本邮件
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
# 发件人信息
sender = 'your_email_address'
password = 'your_email_password'
# 收件人信息
receivers = ['example1@example.com', 'example2@example.com']
to = ','.join(receivers)
# 邮件内容
content = '这是一封Python发出的邮件。'
# 邮件配置
msg = MIMEText(content, 'plain', 'utf-8')
msg['From'] = formataddr(["发件人昵称", sender])
msg['To'] = formataddr(["收件人昵称", to])
msg['Subject'] = "邮件主题"
# 发送邮件
try:
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(sender, password)
server.sendmail(sender, receivers, msg.as_string())
server.quit()
print("邮件发送成功")
except Exception as e:
print(f"邮件发送失败,错误信息为 {e}")
以上代码中,运行后会发送一条内容为“这是一封Python发出的邮件。”的邮件到example1@example.com和example2@example.com两个邮箱。
2. 发送HTML邮件
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.utils import formataddr
# 发件人信息
sender = 'your_email_address'
password = 'your_email_password'
# 收件人信息
receivers = ['example1@example.com', 'example2@example.com']
to = ','.join(receivers)
# 邮件内容
content = '<h1>这是一封Python发出的HTML邮件。</h1>'
# 邮件配置
msg = MIMEMultipart()
msg['From'] = formataddr(["发件人昵称", sender])
msg['To'] = formataddr(["收件人昵称", to])
msg['Subject'] = "邮件主题"
msg.attach(MIMEText(content, 'html', 'utf-8'))
# 发送邮件
try:
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(sender, password)
server.sendmail(sender, receivers, msg.as_string())
server.quit()
print("邮件发送成功")
except Exception as e:
print(f"邮件发送失败,错误信息为 {e}")
以上代码中,运行后会发送一条内容为“这是一封Python发出的HTML邮件。”的HTML邮件到example1@example.com和example2@example.com两个邮箱。
四、总结
以上就是Python实现各种邮件发送的完整实例教程,通过该教程可以了解到如何使用Python发送纯文本邮件和HTML邮件。需要注意的是,在使用Python发送邮件时,需要注意发送频率、邮件内容、邮件地址等问题,避免被识别为垃圾邮件或者邮件被退回。