服务器学习网 > 编程学习 > [收藏 - 使用Python通过SMTP协议群发/单发邮件方法]

[收藏 - 使用Python通过SMTP协议群发/单发邮件方法]

服务器学习网综合整理   2024-08-21 09:09:41

一、SMTP协议简介 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,是用于从源地址到目的地址传输邮件的一组规范。通过SMTP协议,我们可以控制邮件的中转方式,确保邮件能够准确无误地送达目标用户。 二、准备工作 在使用Python发送邮件之前,你需要准备以下...

在自媒体运营中,邮件营销是一种高效且成本较低的用户触达方式。利用Python的SMTP协议,我们可以轻松实现邮件的群发与单发,为内容推广和用户沟通提供强大支持。以下将详细介绍如何通过Python实现这一功能,请重点收藏

一、SMTP协议简介

SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,是用于从源地址到目的地址传输邮件的一组规范。通过SMTP协议,我们可以控制邮件的中转方式,确保邮件能够准确无误地送达目标用户。

二、准备工作

在使用Python发送邮件之前,你需要准备以下内容:

  • 邮箱账号及授权码:以QQ邮箱为例,登录邮箱后,在“设置”中找到“POP3/SMTP/IMAP”服务,开启SMTP服务并获取授权码。
  • Python环境及必要库:确保Python环境已安装,并导入smtplibemail.mime.text等库。

三、单发邮件

代码示例

import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr

from_name = "发件人姓名"
from_addr = "your_email@qq.com"  # 发件邮箱地址
from_pwd = "your_auth_code"  # 发件邮箱授权码
to_addr = "recipient_email@example.com"  # 收件邮箱地址

my_title = "邮件标题"
my_msg = "邮件正文内容"

msg = MIMEText(my_msg, 'plain', 'utf-8')
msg['From'] = formataddr([from_name, from_addr])
msg['To'] = to_addr
msg['Subject'] = my_title

smtp_srv = "smtp.qq.com"
try:
    srv = smtplib.SMTP_SSL(smtp_srv, 465)
    srv.login(from_addr, from_pwd)
    srv.sendmail(from_addr, [to_addr], msg.as_string())
    print('发送成功')
except Exception as e:
    print('发送失败', e)
finally:
    srv.quit()

重点:在上述代码中,通过smtplib.SMTP_SSL创建安全的SMTP连接,使用授权码登录邮箱,并通过sendmail方法发送邮件。

四、群发邮件

代码示例

to_addrs = ["email1@example.com", "email2@example.com"]  # 收件人列表

try:
    srv = smtplib.SMTP_SSL(smtp_srv, 465)
    srv.login(from_addr, from_pwd)
    srv.sendmail(from_addr, to_addrs, msg.as_string())
    print('群发成功')
except Exception as e:
    print('群发失败', e)
finally:
    srv.quit()

重点:群发邮件时,只需将收件人地址改为列表形式,其他步骤与单发邮件相同。

[收藏 - 使用Python通过SMTP协议群发/单发邮件方法]

通过掌握以上方法,你可以轻松地在Python中实现邮件的群发与单发,为自媒体运营提供有力支持。记得定期更新授权码注意安全性,确保邮件发送的顺畅与安全。

推荐文章