利用Python实现的一个自动群发或单发邮件的小脚本!(SMTP协议)

Posted 非洲小白脸non

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用Python实现的一个自动群发或单发邮件的小脚本!(SMTP协议)相关的知识,希望对你有一定的参考价值。

python3、利用SMTP实现自动发送邮件!

  首先声明,这个是偶然从别人的博客里发现的,觉得比较有趣,就自身亲自尝试了一番,在此做了点儿比较详细的整理和一点点小小的优化!此处为原博客的链接地址!

  https://www.cnblogs.com/Python1234/p/9118363.html

  步骤:

    1.发送QQ邮件,首先必须知道QQ邮箱的SMTP服务器!

      

    2.发送邮件之前,必须开启qq邮箱的smtp服务

      设置路径:设置--账户--开启截图上的服务--保存更改

    

    3.Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件

      

#   导入smtplib模块,smtplib负责发送邮件
import smtplib
# 导入email模块,email负责构造邮件
from email.mime.text import MIMEText

# 创建类
class SendEmil:
global send_user
global email_host
global password
# password为相对应的16位授权码,开启服务时收到的16位授权码
password = \'bkdzegokffjmhbei\'
# email的主机地址
email_host = \'smtp.qq.com\'
# 由谁发送的,发送者
send_user = \'145XXXX708@qq.com\'

def send_email(self,user_list,sub,content):
user = "shape" + "<" + send_user + ">"
# 构造MIMEText对象,第一个参数为邮件正文,第二个参数为MIME的图标类型,
# plain表示纯文本,最终的MIME就是\'text/plain\';第三个参数使用编码utf-8保证多语言兼容性
message = MIMEText(content,_subtype=\'plain\',_charset=\'utf-8\')
# 发送的邮件需要添加头部信息,包含发送者、接收者、邮件主题等信息;
# 邮件主题
message[\'Subject\'] = sub
# 发送者
message[\'From\'] = user
# 接收者
message[\'To\'] = ";".join(user_list)
# 安全邮件,通过SSL发送,创建SSL安全连接
server = smtplib.SMTP_SSL()
# 启用SSL连接,端口一般是465
server.connect(email_host,465)
# login()登陆SMTP服务器
server.login(send_user,password)
# sendmail()发邮件,可一次发给多人,此处用列表,邮件正文为str,
# as_string()把MIMEText对象变成str
server.sendmail(user,user_list,message.as_string())
# 关闭SMTP服务器连接
server.close()

# 在当前脚本下运行
if __name__ == \'__main__\':
# 实例化类
send = SendEmil()
# 要发送的对象,可为多个
user_list = [\'39XXXX259@qq.com\']
# 邮件标题
sub = \'测试邮件\'
# 邮件内容
content = \'哈哈哈哈哈\'
# 发送
send.send_email(user_list,sub,content)
print("发送成功!")

 

 

以上是关于利用Python实现的一个自动群发或单发邮件的小脚本!(SMTP协议)的主要内容,如果未能解决你的问题,请参考以下文章

大佬教你用Python实现发送邮件实现单发/群发邮件验证码附带源码

python---自动群发邮件

python 自动发送邮件发送多人群发多附件

自动邮件发送(群发,加密等)

自动邮件发送(群发,加密等)

Python自动群发邮件