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

用Python编写一个邮件发送脚本

发布时间:2023-12-04 10:44:10

Python提供了许多用于发送邮件的库,其中比较常用的是smtplibemail库。下面是一个使用Python编写的邮件发送脚本的示例:

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

def send_email(sender, password, receiver, subject, content):
    # 设置邮件内容,包括发送者、接收者、主题和正文
    message = MIMEText(content, 'plain', 'utf-8')
    message['From'] = Header(sender, 'utf-8')
    message['To'] = Header(receiver, 'utf-8')
    message['Subject'] = Header(subject, 'utf-8')

    try:
        # 连接SMTP服务器,登录邮箱
        smtpObj = smtplib.SMTP_SSL('smtp.example.com', 465)  # SMTP服务器地址和端口
        smtpObj.login(sender, password)  # 邮箱账号和密码

        # 发送邮件
        smtpObj.sendmail(sender, receiver, message.as_string())
        smtpObj.quit()
        print("邮件发送成功")
    except smtplib.SMTPException:
        print("邮件发送失败")

# 使用例子
if __name__ == '__main__':
    sender = 'your_email@example.com'  # 发送者邮箱账号
    password = 'your_password'  # 发送者邮箱密码
    receiver = 'recipient@example.com'  # 接收者邮箱账号
    subject = 'Test Email'  # 邮件主题
    content = 'This is a test email sent from Python.'  # 邮件内容
    send_email(sender, password, receiver, subject, content)

在上述示例中,我们导入了smtplibemail库,并定义了一个名为send_email的函数,用于发送邮件。该函数接收发送者邮箱账号、密码、接收者邮箱账号、主题和正文作为输入参数。

在函数内部,我们使用MIMEText类创建了一个纯文本类型的邮件消息,并设置了发送者、接收者、主题和正文。然后,我们使用SMTP_SSL类连接SMTP服务器,并使用login方法进行登录。

最后,我们使用sendmail方法发送邮件,并使用quit方法关闭SMTP连接。如果发送邮件成功,就会打印"邮件发送成功",否则打印"邮件发送失败"。

在使用例子中,我们提供了发送者邮箱账号、密码、接收者邮箱账号、主题和正文。你只需要将这些信息替换为你自己的邮箱账号和密码,就可以运行脚本发送邮件了。

需要注意的是,这只是一个简单的示例,实际中可能还需要处理异常情况、设置附件等。同样,可以根据需要使用其他库或功能来实现更复杂的邮件发送需求。