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

使用Python编写一个简单的邮件发送程序

发布时间:2023-12-04 08:23:57

邮件发送是一项非常常见的任务,Python提供了smtplib库来实现邮件发送功能。下面我将为你展示如何使用Python编写一个简单的邮件发送程序,并提供一个使用例子。

首先,我们需要导入smtplibemail.message模块:

import smtplib
from email.message import EmailMessage

接下来,我们可以定义一个函数来发送邮件。该函数需要传递发送方的邮箱地址、密码、收件方的邮箱地址、邮件主题和正文。

def send_email(sender_email, sender_password, recipient_email, subject, body):
    # 创建一个EmailMessage对象
    message = EmailMessage()
    message['From'] = sender_email
    message['To'] = recipient_email
    message['Subject'] = subject
    message.set_content(body)

    # 创建SMTP连接
    smtp = smtplib.SMTP('smtp.gmail.com', 587)
    smtp.ehlo()
    smtp.starttls()
    smtp.login(sender_email, sender_password)

    # 发送邮件
    smtp.send_message(message)

    # 关闭连接
    smtp.quit()

在函数中,我们首先创建一个EmailMessage对象,然后设置发送方、收件方、主题和正文。接着,我们创建一个SMTP连接,并使用starttls方法启用TLS加密连接。然后,我们登录发送方的邮箱,并使用send_message方法发送邮件。最后,我们使用quit方法关闭连接。

下面是一个使用这个函数的例子,假设发送方的邮箱是example@gmail.com,密码是password,收件方的邮箱是recipient@example.com,邮件主题是Hello,正文是This is a test email.

sender_email = 'example@gmail.com'
sender_password = 'password'
recipient_email = 'recipient@example.com'
subject = 'Hello'
body = 'This is a test email.'

send_email(sender_email, sender_password, recipient_email, subject, body)

这个例子中,我们调用send_email函数并传递相应的参数,从而发送邮件。

需要注意的是,使用这个例子发送邮件之前,你需要将以下代码中的example@gmail.compassword替换为你自己的邮箱地址和密码:

sender_email = 'example@gmail.com'
sender_password = 'password'

此外,SMTP服务器的地址和端口号可能因电子邮件提供商而异。在这个例子中,我们使用了Gmail的SMTP服务器地址和端口号(smtp.gmail.com587)。如果你使用的是其他电子邮件提供商,你需要更改这些值为相应的地址和端口号。

希望这个简单的邮件发送程序和使用例子能够帮助你了解如何使用Python发送邮件。如有任何问题,请随时提问。