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

使用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连接。

对于使用示例,您需要将senderpasswordrecipient变量的值分别替换为您的邮箱地址和密码,以及接收方的邮箱地址。

这是一个简单的邮件发送工具的Python代码,希望对你有帮助!