使用Python编写的邮件发送程序
发布时间:2023-12-04 13:07:35
邮件发送是一种常用的通信方式,它可以快速、便捷地将信息发送给指定的接收者。Python提供了一些库来帮助我们发送邮件,其中最常用的是smtplib库。下面是一个使用Python编写的简单邮件发送程序的示例:
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
def send_email(sender, password, receiver, subject, content):
# 创建MIMEText对象
msg = MIMEText(content, 'plain', 'utf-8')
msg['From'] = formataddr(['发件人姓名', sender]) # 发件人信息
msg['To'] = formataddr(['收件人姓名', receiver]) # 收件人信息
msg['Subject'] = subject # 邮件主题
try:
# 创建SMTP对象
smtp_obj = smtplib.SMTP('smtp.163.com', 25) # 邮件服务器和端口号
smtp_obj.login(sender, password) # 登录邮箱
smtp_obj.sendmail(sender, [receiver], msg.as_string()) # 发送邮件
smtp_obj.quit() # 退出SMTP对象
print("邮件发送成功!")
except smtplib.SMTPException as e:
print("邮件发送失败:", str(e))
# 示例用法
sender = 'sender@example.com' # 发件人邮箱地址
password = 'password' # 发件人邮箱密码或授权码
receiver = 'receiver@example.com' # 收件人邮箱地址
subject = '测试邮件' # 邮件主题
content = '这是一封测试邮件,请勿回复。' # 邮件内容
send_email(sender, password, receiver, subject, content)
上述代码使用了smtplib库中的SMTP类和MIMEText类来实现邮件的发送功能。具体步骤如下:
1. 导入需要的模块:
- smtplib:SMTP库,用于发送邮件;
- email.mime.text:MIMEText类,用于创建邮件内容;
- email.utils:formataddr函数,用于格式化发件人和收件人的显示名称。
2. 编写发送邮件的函数send_email():
- 创建MIMEText对象,指定邮件内容和编码方式;
- 设置发件人和收件人的信息;
- 创建SMTP对象,指定邮件服务器和端口号;
- 登录邮箱;
- 发送邮件;
- 退出SMTP对象。
3. 使用示例:
- 定义发件人、密码、收件人、主题和内容;
- 调用send_email()函数发送邮件。
以上代码中使用了163邮箱的SMTP服务器,你需要根据自己的邮箱服务提供商修改SMTP服务器和端口号。此外,需要注意的是,使用SMTP登录邮箱需要提供正确的用户名和密码(或授权码)。
总结起来,上述程序是一个简单的邮件发送程序,它可以通过Python脚本快速地将指定内容发送给指定接收者。你只需要进行一些微小的配置,然后调用send_email()函数即可实现邮件发送。
