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

Python实现简单的邮件发送功能

发布时间:2023-12-04 07:58:56

Python提供了smtplib库来实现邮件发送功能。smtplib库是Python内置的发送邮件的标准库,它基于SMTP协议,可以实现邮件的发送和接收。下面是一个简单的例子来演示如何使用Python发送邮件:

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

def send_email(sender, receivers, subject, message):
    # 邮件内容设置
    msg = MIMEText(message, 'plain', 'utf-8')
    msg['Subject'] = Header(subject, 'utf-8')
    
    # 发送邮件
    try:
        smtpobj = smtplib.SMTP('localhost')  # 设置SMTP服务器地址
        smtpobj.sendmail(sender, receivers, msg.as_string())
        print("邮件发送成功")
    except smtplib.SMTPException:
        print("邮件发送失败")

# 使用示例
sender = 'sender@example.com'  # 发送者邮箱
receivers = ['receiver1@example.com', 'receiver2@example.com']  # 接收者邮箱,可以是多个
subject = '邮件标题'
message = '邮件内容'

send_email(sender, receivers, subject, message)

在这个例子中,我们首先导入了smtplib库和相关的邮件模块。然后定义了一个send_email函数,接收发送者邮箱、接收者邮箱列表、邮件主题和邮件内容作为参数。在函数内部,我们使用MIMEText类创建了一个邮件对象,并设置了邮件的内容和主题。然后使用SMTP协议发送邮件,smtplib.SMTP函数接收SMTP服务器地址作为参数,我们这里使用的是本地主机localhost。最后使用smtpobj.sendmail函数发送邮件。

这里需要注意的是,邮件内容需要使用MIMEText类创建,并且设置plain格式和编码,Header类用于设置主题的编码。

在调用send_email函数时,我们指定了发送者邮箱、接收者邮箱列表、邮件主题和邮件内容。你可以根据需要修改这些参数。

需要注意的是,发送邮件需要提供SMTP服务器的地址和端口号,你需要根据实际情况设置。

希望以上内容对你有帮助,如果有其他问题,请随时提问。