导读 | 这篇文章主要为大家详细介绍了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,邮箱信息传输
当然也可以封装在函数里面方便调用
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/148638.html