使用Python编写的简单邮件发送工具
发布时间:2023-12-04 12:44:45
邮件发送是一项常见的任务,可以用于发送通知、提醒、邀请等。Python提供了smtplib库来简化邮件发送的过程。下面是一个简单的邮件发送工具的示例代码,以及使用说明。
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
def send_email(sender, password, recipient, subject, content):
try:
# 创建邮件内容
msg = MIMEText(content, 'plain', 'utf-8')
msg['From'] = formataddr(('Sender', sender))
msg['To'] = formataddr(('Recipient', recipient))
msg['Subject'] = subject
# 创建SMTP对象
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
# 登录邮箱
server.login(sender, password)
# 发送邮件
server.sendmail(sender, [recipient], msg.as_string())
# 关闭连接
server.quit()
print("邮件发送成功!")
except Exception as e:
print("邮件发送失败!", e)
# 使用示例
sender = 'your_email@gmail.com'
password = 'your_password'
recipient = 'recipient_email@gmail.com'
subject = 'Hello'
content = 'This is a test email.'
send_email(sender, password, recipient, subject, content)
使用上述代码,您需要做以下准备工作:
1. 在您的电子邮件服务提供商 (如Gmail、Outlook) 上创建一个邮箱帐户,并记住该帐户的用户名和密码。这将作为发送方邮箱。
2. 安装Python的smtplib库,通过pip install smtplib命令来安装。
在代码中,send_email函数接受发送方邮箱、密码、接收方邮箱、邮件主题和内容作为参数。该函数的实现过程如下:
1. 使用email.mime.text模块的MIMEText类创建一个邮件内容对象。我们使用了'plain'作为邮件的内容类型,'utf-8'作为编码方式。
2. 使用email.utils模块的formataddr函数指定发送方和接收方的名称。
3. 创建SMTP对象,并设置SMTP服务器地址和端口(Gmail使用的是smtp.gmail.com和端口587)。然后通过调用starttls方法启用TLS加密。
4. 使用SMTP对象调用login方法,传入发送方邮箱和密码进行登录。
5. 使用SMTP对象的sendmail方法发送邮件,传入发送方邮箱、接收方邮箱和邮件内容。
6. 最后,关闭SMTP连接。
对于使用示例,您需要将sender、password和recipient变量的值分别替换为您的邮箱地址和密码,以及接收方的邮箱地址。
这是一个简单的邮件发送工具的Python代码,希望对你有帮助!
