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

如何使用Python实现一个简单的邮件发送程序

发布时间:2023-12-04 08:52:03

使用Python实现一个简单的邮件发送程序可以通过SMTP(Simple Mail Transfer Protocol)协议来发送电子邮件。下面是一个简单的Python代码示例:

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

def send_email(sender, receiver, subject, body):
    # 创建一个带附件的邮件实例
    msg = MIMEMultipart()
    msg['From'] = sender
    msg['To'] = receiver
    msg['Subject'] = subject
    
    # 将邮件正文作为纯文本添加到邮件实例中
    msg.attach(MIMEText(body, 'plain'))
    
    try:
        # 创建一个SMTP对象,并连接到SMTP服务器(例如:使用Gmail的SMTP服务器)
        smtp_server = smtplib.SMTP('smtp.gmail.com', 587)
        smtp_server.starttls()  # 启用TLS加密
        
        # 登录SMTP服务器
        smtp_server.login(sender, 'your-password')
        
        # 发送邮件
        smtp_server.sendmail(sender, receiver, msg.as_string())
        
        # 退出SMTP服务器
        smtp_server.quit()
        
        print('邮件发送成功!')
    
    except Exception as e:
        print('邮件发送失败:', e)

# 使用示例
sender = 'your-email@gmail.com'
receiver = 'recipient@example.com'
subject = '测试邮件'
body = '这是一封来自Python的测试邮件!'

send_email(sender, receiver, subject, body)

在上面的代码中,首先我们导入了必要的模块:smtplib用于发送电子邮件,email.mime.multipartemail.mime.text分别用于创建带附件的邮件实例和纯文本邮件正文。

然后,我们定义了一个send_email函数,该函数接收发送者、接收者、主题和邮件正文作为参数。在函数内部,我们创建了一个带附件的邮件实例,并设置发送者、接收者和主题。然后,我们将邮件正文作为纯文本内容添加到邮件实例中。

接下来,我们创建一个SMTP对象,并连接到SMTP服务器。在本例中,我们使用了Gmail的SMTP服务器,使用587端口,并启用了TLS加密。然后,我们登录SMTP服务器,使用发送者的电子邮件地址和密码进行登录。

最后,我们通过SMTP服务器发送邮件,并在发送成功或失败后输出相应的信息。发送邮件完成后,我们退出SMTP服务器。

使用该邮件发送程序的示例很简单。你只需提供自己的电子邮件地址作为发送者、收件人的电子邮件地址作为接收者、邮件主题和正文即可。你需要确保你的电子邮件提供商支持使用SMTP协议发送邮件,并提供相关的SMTP服务器和端口信息。

请注意:为了安全起见,代码示例中的密码应该被替换为你自己的邮箱密码。