欢迎访问宙启技术站
智能推送

使用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()函数即可实现邮件发送。