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

Python编程实例:使用email.mime.text模块发送纯文本的电子邮件示例

发布时间:2023-12-16 18:06:20

发送邮件是一项很常见的任务,在Python中,我们可以使用email模块来发送各种类型的电子邮件。其中,email.mime.text模块允许我们发送纯文本的邮件。下面是一个使用email.mime.text模块发送纯文本电子邮件的示例:

import smtplib
from email.mime.text import MIMEText

def send_email():
    # 邮件内容
    subject = "Python Email Demo"
    body = "This is a test email sent from Python."

    # 构建邮件
    msg = MIMEText(body)
    msg['Subject'] = subject
    msg['From'] = 'sender@example.com'
    msg['To'] = 'recipient@example.com'

    # 发送邮件
    try:
        server = smtplib.SMTP('smtp.example.com', 25)  # 替换为你的SMTP服务器地址和端口
        # 如果SMTP服务器需要登录认证,需要如下操作
        server.login('username', 'password')  # 替换为你的用户名和密码
        server.sendmail('sender@example.com', ['recipient@example.com'], msg.as_string())  # 替换为你的发件人和收件人地址
        server.quit()
        print("邮件发送成功")
    except Exception as e:
        print("邮件发送失败:" + str(e))

if __name__ == '__main__':
    send_email()

上面的代码首先导入了smtplib和MIMEText模块,smtplib模块提供了用于发送邮件的SMTP类,MIMEText模块提供了用于创建邮件主体的MIMEText类。

send_email()函数定义了发送邮件的逻辑。在函数中,我们首先定义了邮件的主题和内容。然后,我们使用MIMEText类构建了一个MIMEText对象msg,并设置了主题、发件人和收件人的地址。

接下来,我们创建了一个SMTP对象server,通过SMTP对象的login()方法登录到SMTP服务器。如果SMTP服务器需要登录认证,则需要提供用户名和密码。然后,我们使用SMTP对象的sendmail()方法发送邮件,指定发件人地址、收件人地址和邮件内容。最后,我们使用SMTP对象的quit()方法关闭SMTP连接。

在调用send_email()函数之前,我们需要替换以下内容:

- SMTP服务器地址和端口号

- 发件人和收件人地址

- 登录SMTP服务器所需的用户名和密码

需要注意的是,有些SMTP服务器可能要求使用SSL或TLS协议进行安全连接。在使用SMTP类进行连接时,我们需要设置相应的端口号和使用starttls()方法启用安全连接。

以上是使用email.mime.text模块发送纯文本电子邮件的一个简单示例。通过这个示例,我们可以学习如何使用Python发送邮件,并根据需要自定义邮件的主题、内容、发件人和收件人地址。