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

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

发布时间:2023-12-04 12:14:03

Python提供了smtplib和email模块来实现邮件发送功能。smtplib模块用于建立SMTP连接并发送邮件,email模块用于构建邮件对象。

下面是一个使用Python实现的简单的邮件发送程序,并附带一个使用示例:

import smtplib
from email.mime.text import MIMEText
from email.header import Header

def send_email(sender, receiver, subject, text):
    # 邮件内容
    message = MIMEText(text, 'plain', 'utf-8')
    message['From'] = Header(sender, 'utf-8')
    message['To'] = Header(receiver, 'utf-8')
    message['Subject'] = Header(subject, 'utf-8')

    # 发送邮件
    try:
        smtp_obj = smtplib.SMTP('smtp.example.com', 25)  # 替换为SMTP服务器地址和端口号
        smtp_obj.login('your_username', 'your_password')  # 替换为邮箱账号和密码
        smtp_obj.sendmail(sender, receiver, message.as_string())
        smtp_obj.quit()
        print("邮件发送成功")
    except smtplib.SMTPException:
        print("邮件发送失败")

# 使用示例
sender = "sender@example.com"  # 发件人邮箱
receiver = "receiver@example.com"  # 收件人邮箱
subject = "Python SMTP邮件测试"  # 邮件主题
text = "这是一封使用Python发送的测试邮件"  # 邮件正文

send_email(sender, receiver, subject, text)

在示例中,首先导入了smtplib和email模块。然后定义了一个send_email函数,该函数接受发件人邮箱、收件人邮箱、邮件主题和邮件正文作为参数。在函数内部,使用MIMEText类构建了一个简单的文本邮件对象,并设置了发件人、收件人和主题。然后通过SMTP连接SMTP服务器,并使用login方法进行登录验证,接着使用sendmail方法发送邮件。最后使用quit方法退出SMTP会话。

在使用示例中,设置了发件人邮箱、收件人邮箱、邮件主题和邮件正文,并调用send_email函数进行发送。根据实际情况,需要替换SMTP服务器地址和端口号、邮箱账号和密码,以及发件人邮箱和收件人邮箱。

这是一个简单的邮件发送程序的实现,并附带一个使用示例。可以根据实际需求进行拓展和优化。