前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python发邮件脚本,Python调用163邮箱SMTP服务实现邮件群发

Python发邮件脚本,Python调用163邮箱SMTP服务实现邮件群发

作者头像
二爷
发布2020-09-23 10:20:16
3.3K0
发布2020-09-23 10:20:16
举报
文章被收录于专栏:二爷记二爷记

邮件营销,一个昔日辉煌,如今没落的广告营销方式,曾经的恶意广告邮件群发,到现在还存留着的大站协议群发,可能还是有不少人能够做到正常群发邮件,但大概率很多人都不会点开邮件查看邮件内容吧,除非是很许可的,重要的邮件通知,比如面试相关邮件。

不过国外,尤其是外贸,对于邮件营销,邮件的收发还是存在的,这就有了下面这个命题,Python发邮件脚本,本渣渣当然不会,直接调包吧,度娘搜索现成的脚本,例子,即可,好好的做一个调包侠,难道不香吗?

关于SMTP

SMTP 的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP 服务器就是遵循 SMTP 协议的发送邮件服务器。

SMTP 认证,简单地说就是要求必须在提供了账户名和密码之后才可以登录 SMTP 服务器,这就使得那些垃圾邮件的散播者无可乘之机。

增加 SMTP 认证的目的是为了使用户避免受到垃圾邮件的侵扰。

网易163免费邮箱相关服务器信息:

PyEmail库 安装

代码语言:javascript
复制
pip install PyEmail

PyEmail库 使用

模块名:Pyemail

包含类:PyEmail()

实例化:mail = PyEmail('mixed')

参数有:alternative,related,mixed(来自于email模块)

  1. 登录三方SMTP:mail.enter(mail_host=, port=, mail_user, mail_pass=)

第一参数是第三方SMTP地址 第二参数是对应端口 第三参数是邮箱账号 第四参数是授权码

  1. 发送邮件:mail.sendemail(sender=, receivers=)

第一参数是发送者邮箱地址(字符串格式) 第二参数是接收者邮箱地址(字符串的列表)

  1. 构造头部信息:mail.header_info(from_= ; to_= ; subject= )

第一参数是发件人(字符串格式)

第二参数是收件人(字符串格式)

第三参数是主题信息(字符串格式)

  1. 构造纯文本内容:mail.Text(text=)

唯一参数text,纯文本内容(字符串格式)

  1. 构造超文本内容:mail.Html(hype_text=)

唯一参数hype_text,超文本内容(字符串格式)

  1. 构造图片内容:mail.Image(pic_address=, pic_cid)

第一参数是图片地址(字符串格式)

第二参数是图片id(字符串格式),与超文本中cid保持一致

  1. 构造附件内容:mail.Enc(enc_address=. enc_name=)

第一参数是附件地址(字符串格式)

第二参数是附件名称(字符串格式),在邮件中显示的名称

源码参考

代码语言:javascript
复制
#Python 网易邮箱简单发送邮件
# -*- coding: utf-8 -*-


import smtplib  # 导入PyEmail
from email.mime.text import MIMEText
import time


# 邮件构建

def send(i):
    subject = f"【第{i}封】滴滴答答~胖子快收邮件!"  # 邮件标题
    sender = "xxxxx@163.com"  # 发送方
    content = "国庆中秋双节快乐!"
    recver = "xxxxxx@qq.com"  # 接收方
    password = "*******" #邮箱密码
    message = MIMEText(content, "plain", "utf-8")
    # content 发送内容     "plain"文本格式   utf-8 编码格式

    message['Subject'] = subject  # 邮件标题
    message['To'] = recver  # 收件人
    message['From'] = sender  # 发件人

    smtp = smtplib.SMTP_SSL("smtp.163.com", 994)  # 实例化smtp服务器
    smtp.login(sender, password)  # 发件人登录
    smtp.sendmail(sender, [recver], message.as_string())  # as_string 对 message 的消息进行了封装
    smtp.close()
    print("发送邮件成功!!")



if __name__=='__main__':
    for i in range(1,11):
        send(i)
        time.sleep(8)

群发效果

测试了一下163免费邮箱发送QQ邮箱,几乎都进入垃圾箱,发十封邮件,可能只有一两封没有进垃圾箱,可想而知,现今对于邮件营销的的控制,相信也从中可以看出昔日广告邮件的疯狂程度,话说,现在国内谁还看邮件呢,除了必要的邮件通知,几乎大概率都是广告邮件,恶意营销吧!

参考来源:

什么是POP3、SMTP和IMAP?

https://help.mail.163.com/faqDetail.do?code=d7a5dc8471cd0c0e8b4b8f4f8e49998b374173cfe9171305fa1ce630d7f67ac22dc0e9af8168582a

【私人订制Python模块库】Pyemail:更方便快捷地发送电子邮件

https://blog.csdn.net/nilvya/article/details/104658472

Python PyEmail包_程序模块 - PyPI - Python中文网

https://www.cnpython.com/pypi/pyemail

python使用163邮箱发送邮件

https://blog.csdn.net/qlzy_5418/article/details/86661883

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python与SEO学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于SMTP
  • PyEmail库 安装
  • PyEmail库 使用
  • 源码参考
  • 群发效果
相关产品与服务
邮件推送
邮件推送(Simple Email Service,SES)是一款基于腾讯云端的平台化服务, 为企业提供安全稳定、简单快速、精准高效的营销、通知和事务邮件的推送服务。产品提供灵活的 IP 部署、电子邮件身份验证以及企业专属定制的启动计划,以保护发件人声誉,同时提供精准智能的数据分析。产品的服务范围覆盖200+国家/地区,可即时触达全球各地的邮箱地址。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档