用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服务器地址和端口号、邮箱账号和密码,以及发件人邮箱和收件人邮箱。
这是一个简单的邮件发送程序的实现,并附带一个使用示例。可以根据实际需求进行拓展和优化。
