阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

如何用python实现邮箱发送信息

50次阅读
没有评论

共计 2613 个字符,预计需要花费 7 分钟才能阅读完成。

导读 这篇文章主要为大家详细介绍了 python 实现邮箱发送信息,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了 python 实现邮箱发送信息的具体代码,供大家参考,具体内容如下

一、SSL

SSL 是指安全套接字层,简而言之,它是一项标准技术,可确保互联网连接安全,保护两个系统之间发送的任何敏感数据,防止网络犯罪分子读取和修改任何传输信息,包括个人资料。两个系统可能是指服务器和客户端(例如,浏览器和购物网站),或两个服务器之间(例如,含个人身份信息或工资单信息的应用程序)。

二、SMTP

SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议, 它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。

python 的 smtplib 提供了一种很方便的途径发送电子邮件。它对 smtp 协议进行了简单的封装。

三、实现邮箱轰炸
需要用到三个模块

​ 1、SMTP_SSL – 传输加密,安全,也可以用 smtplib,但是建议用 SSL

​ 2、MIMEText – 用来返回对象(返回对象方便操作),并且存放写入的内容

​ 3、Header – 用来反检测,不写的话邮箱可能提示为垃圾邮箱,就不能发送信息了

三步骤:

​ 1、登录(SMTP_SSL)–要实例化 SMTP_SSL 对象

​ 2、发送写入的信息(sendmail(starthost,endhost,me.as_string())–starthost 为

​ 3、退出(quit)

'''
参数说明:host: SMTP 服务器主机。你可以指定主机的 ip 地址或者域名如:runoob.com,这个是可选参数。port: 如果你提供了 host 参数, 你需要指定 SMTP 服务使用的端口号,一般情况下 SMTP 端口号为 25。local_hostname: 如果 SMTP 在你的本机上,你只需要指定服务器地址为 localhost 即可。'''
import smtplib
smtpObj = smtplib.SMTP([host [, port [, local_hostname]]] )
 
'''
参数说明:from_addr: 邮件发送者地址。to_addrs: 字符串列表,邮件发送地址。msg: 发送消息
Python SMTP 对象使用 sendmail 方法发送邮件,语法如下:'''
SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options]
实现方式:

使用第三方邮箱服务:

列如用自己的 qq 邮箱服务来向对方(或者自己)发送(匿名)邮箱信息

但是得首先得到 QQ 邮箱的授权码(网上有教程,很简单)

'''
    Python 邮箱 深夜测试
    授权码:*****
'''
from smtplib import SMTP_SSL
from email.mime.text import MIMEText
from email.header import Header
 
#第三方服务(qq)mail_host = 'smtp.qq.com'
mail_user = '27*****' #账号
mail_pws = '*****' #授权码
 
#登录
smtp = SMTP_SSL(mail_host)  #实例化
smtp.ehlo(mail_host)
smtp.login(mail_user,mail_pws)# 登录
 
#我和对方的邮件地址
my_mail = '27*****@qq.com' #自己打的邮箱地址
her_mail = '*****@163.com' #对方的邮箱地址
 
#写入的内容
cont = '你好我是 HV,我来自外星球!'
#标题
title = '来着地球的 HV'
 
#内容格式化
for i in range(10): #向目标发送 10 个邮箱
    msg = MIMEText(cont,'plain','UTF-8') #plain 为 txt 格式,如果直接写 txt 的话,会被检测为垃圾邮箱
    msg['Subject'] = Header(title,'UTF-8') 
    msg['From'] = my_mail #这里有填写您的邮箱地址格式,对方才会知道发件人是谁,要不然对方默认为(无发件人)msg['To'] = '我的好友' #这个要注意!这里只能填字符串,如果填其他的数据类型就会报错!smtp.sendmail(my_mail,her_mail,msg.as_string())
    # smtp.quit()
 
smtp.quit() #关闭 SMTP,邮箱信息传输
'''
    Python 邮箱 深夜测试
    授权码:*****
'''
from smtplib import SMTP_SSL
from email.mime.text import MIMEText
from email.header import Header

#第三方服务(qq)mail_host = 'smtp.qq.com'
mail_user = '27*****' #账号
mail_pws = '*****' #授权码

#登录
smtp = SMTP_SSL(mail_host)  #实例化
smtp.ehlo(mail_host)
smtp.login(mail_user,mail_pws)# 登录

#我和对方的邮件地址
my_mail = '27*****@qq.com' #自己打的邮箱地址
her_mail = '*****@163.com' #对方的邮箱地址

#写入的内容
cont = '你好我是 HV,我来自外星球!'
#标题
title = '来着地球的 HV'

#内容格式化
for i in range(10): #向目标发送 10 个邮箱
    msg = MIMEText(cont,'plain','UTF-8') #plain 为 txt 格式,如果直接写 txt 的话,会被检测为垃圾邮箱
    msg['Subject'] = Header(title,'UTF-8') 
    msg['From'] = my_mail #这里有填写您的邮箱地址格式,对方才会知道发件人是谁,要不然对方默认为(无发件人)msg['To'] = '我的好友' #这个要注意!这里只能填字符串,如果填其他的数据类型就会报错!smtp.sendmail(my_mail,her_mail,msg.as_string())
    # smtp.quit()

smtp.quit() #关闭 SMTP,邮箱信息传输 

当然也可以封装在函数里面方便调用

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计2613字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中