Python发送邮件
创始人
2024-11-12 19:33:15
0

Python发送邮件

发送邮件

  1. 协议

    1. SMTP:发送邮件,Simple Mail Transfer Protocol
    2. POP3:邮局协议,Post Offic Protocol
    3. IMAP:网络有机胺访问协议:Internet Mail Access Protocol,比POP3实时性更强
    4. 上述三种协议均为明文传输,所以建议对其进行加密(TLS),生成授权码
      1. 在这里插入图片描述
  2. 如何发送邮件,废话不多说,直接上代码

    1. # mail.py # 直接导入内置模块 import smtplib, time  # smtplib模块主要用于处理SMTP协议 # email模块主要处理邮件的头和正文等数据 from email.mime.application import MIMEApplication from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText  # 构建邮件的主题对象 sender = '1xxxxxxxxxx@163.com' receivers = '2xxxxxxxx@qq.com' receiver_name = '啦啦啦' msg = MIMEMultipart() msg['Subject'] = 'Python测试邮件' msg['From'] = sender msg['To'] = receivers  body = '''                重置您的 无敌软件的 密码          
           __            __     ______                _ __   / /____  _____/ /_   / ____/___ ___  ____ _(_) /  / __/ _ \/ ___/ __/  / __/ / __ `__ \/ __ `/ / /  / /_/  __(__  ) /_   / /___/ / / / / / /_/ / / /   \__/\___/____/\__/  /_____/_/ /_/ /_/\__,_/_/_/    

      尊敬的'''+receiver_name+'''您好:

      您正在为登录邮箱为如下地址的 啦啦啦 账户重置密码:

      xxxx@abc.com

      请注意,如果这不是您本人的操作,请忽略并关闭此邮件。

      如您确认重置 XXXX 的账户密码,请点击下方按钮。

      重置密码
      为安全起见,以上按钮为一次性链接,且仅在24小时内有效,请您尽快完成操作。

      如有任何疑问或无法完成注册,请通过如下方式与我们联系:

      邮箱:support@XXX.cn

      微信助理:XXXXX

      本邮件由系统自动发送,请勿回复。

      您的智能项目助理

      XXXXXXXX

      ''' content = MIMEText(body, 'html', 'utf-8') msg.attach(content) # 添加邮件附件 attach='./001-ExampleSourceURL.zip' attachment=MIMEApplication(open(attach,'rb').read() file_name=attach.aplit('/')[-1] attachment.add_header('Content-Disposition','attachment',filename=file_name) msg.attach(attachment) # 建立与邮件服务器的链接,并发送邮件 smtpObj = smtplib.SMTP() # 如果基于SSL则smtplib.SMTP_SSL smtpObj.connect('smtp.163.com', 25) # 这里是明文密码,不安全 ''' smtpObj.login(user='1xxxxxxxxxx@163.com', password='xxxxxxxxxx') smtpObj.sendmail(sender, receivers, str(msg)) smtpObj.quit() ''' # 注意,QQ邮件服务器不支持连续不停止发送,如果要发送多封,建议之间sleep几秒钟 # 如何登陆SMTP+SSL邮件服务器 # 授权码 auth_code='XXXXXXXXXXXXXXXX' smtpObj=smtplib.SMTP_SSL('smtp.163.com',465) smtpObj.login(user='1xxxxxxxxxx@163.com', password=auth_code) smtpObj.sendmail(sender, receivers, str(msg)) smtpObj.quit()

    大家可以使用Wireshark进行抓包尝试理解smtp通信过程,在不使用授权码时抓到的仅仅是经过base64编码过的数据,很容易进行解码,从而轻易登陆你的邮件服务器,但是使用授权码的情况下抓到的都是经过加密的数据,相对来说会更加安全

小知识点:

编码解码encode.py

import bash64  source='5oiR5bCx55+l6YGT5L2g5Lya6Kej5a+G' print(base64.b64decode(source)) 

相关内容

热门资讯

绝活儿辅助!广西老友玩老是输怎... 绝活儿辅助!广西老友玩老是输怎么办(辅助挂)都是真的有辅助app(讲解有挂)在进入广西老友玩老是输怎...
法门辅助!福建13水插件(辅助... 法门辅助!福建13水插件(辅助挂)一贯是有辅助技巧(有挂技术)1、许多玩家不知道福建13水插件辅助怎...
办法辅助!潮友会app下载官方... 办法辅助!潮友会app下载官方辅助器(辅助挂)真是真的是有辅助app(有挂教程)该软件可以轻松地帮助...
妙招辅助!邯郸胡乐挂辅助(辅助... 妙招辅助!邯郸胡乐挂辅助(辅助挂)好像存在有辅助插件(有挂方略)1、上手简单,内置详细流程视频教学,...
教程书辅助!乐酷辅助(辅助挂)... 教程书辅助!乐酷辅助(辅助挂)其实存在有辅助脚本(有挂细节)乐酷辅助能透视中分为三种模型:乐酷辅助模...
学习辅助!决战卡五星辅助(辅助... 学习辅助!决战卡五星辅助(辅助挂)本来真的是有辅助软件(有人有挂)学习辅助!决战卡五星辅助(辅助挂)...
绝活辅助!边锋嘉兴麻将辅助器(... 绝活辅助!边锋嘉兴麻将辅助器(辅助挂)真是真的有辅助神器(新版有挂)1、边锋嘉兴麻将辅助器公共底牌简...
举措辅助!枫叶辅助器(辅助挂)... 举措辅助!枫叶辅助器(辅助挂)本来存在有辅助技巧(竟然有挂)1、下载好枫叶辅助器正确养号方法之后点击...
讲义辅助!点我达辅助(辅助挂)... 讲义辅助!点我达辅助(辅助挂)一直存在有辅助技巧(有人有挂)1、点我达辅助辅助器安装包、点我达辅助辅...
模块辅助!威信茶馆有挂的吗(辅... 模块辅助!威信茶馆有挂的吗(辅助挂)一直真的是有辅助脚本(揭秘有挂)1、玩家可以在威信茶馆有挂的吗线...