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

用Python编写一个简单的邮件发送工具

发布时间:2023-12-04 11:41:21

Python是一种简单易学、功能强大的编程语言,可以用于编写邮件发送工具。在Python中,可以使用smtplib模块来发送邮件。

首先,在使用smtplib模块之前,需要安装好Python的标准库中的smtplib模块。可以通过以下命令来安装smtplib模块:

pip install secure-smtplib

接下来,可以通过以下代码示例来使用Python编写一个简单的邮件发送工具:

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

def send_email(subject, message, from_email, to_email, smtp_server, smtp_port, username, password):
    # 创建MIMEText实例
    msg = MIMEText(message, 'plain', 'utf-8')
    msg['Subject'] = Header(subject, 'utf-8')
    msg['From'] = from_email
    msg['To'] = to_email

    try:
        # 连接SMTP服务器
        server = smtplib.SMTP_SSL(smtp_server, smtp_port)
        # 登录SMTP服务器
        server.login(username, password)
        # 发送邮件
        server.sendmail(from_email, [to_email], msg.as_string())
        print('邮件发送成功')
    except Exception as e:
        print('邮件发送失败:', str(e))
    finally:
        # 退出SMTP服务器的连接
        server.quit()

# 使用例子
if __name__ == '__main__':
    subject = '测试邮件'
    message = '这是一封测试邮件'
    from_email = 'sender@example.com'
    to_email = 'recipient@example.com'
    smtp_server = 'smtp.example.com'
    smtp_port = 465
    username = 'sender@example.com'
    password = 'password'

    send_email(subject, message, from_email, to_email, smtp_server, smtp_port, username, password)

以上代码定义了一个名为send_email的函数,该函数用于发送邮件。函数接受以下参数:

- subject:邮件主题

- message:邮件内容

- from_email:发件人邮箱地址

- to_email:收件人邮箱地址

- smtp_server:SMTP服务器地址

- smtp_port:SMTP服务器端口号(一般为465)

- username:SMTP服务器登录用户名

- password:SMTP服务器登录密码

在使用例子中,我们定义了一个测试邮件的主题和内容,并设置了发件人和收件人的邮箱地址。SMTP服务器地址和登录信息需要根据自己的情况进行修改。

运行代码后,将会输出邮件发送成功或失败的信息。

通过以上代码,我们可以方便地使用Python来编写一个简单的邮件发送工具。根据实际需求,还可以进行更多的功能扩展,比如添加附件、发送HTML格式的邮件等。