最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 利用python自动发邮箱

    正文概述    2020-01-09   434

    利用python自动发邮箱

    正文

    废话不多说,直接上代码。

    一、普通文本邮件(作通知训练结束用 :smiley: )

    # -*- coding: UTF-8 -*-
    
    import smtplib
    from email.mime.text import MIMEText
      
    # 第三方 SMTP 服务
    mail_host = "smtp.163.com"  # SMTP服务器
    mail_user = "yourname"  # 用户名
    mail_pass = "xxx"  # 密码(这里的密码不是登录邮箱密码,而是授权码)
      
    sender = 'yourname@163.com'  # 发件人邮箱
    receivers = 'othername@163.com']  # 接收人邮箱
      
      
    content = 'Python Send Mail ! 训练结束!'
    title = 'Python SMTP Mail 训练结束'  # 邮件主题
    
    message = MIMEText(content, 'plain', 'utf-8')  # 内容, 格式, 编码
    message['From'] = "{}".format(sender)
    message['To'] = ",".join(receivers)
    message['Subject'] = title
      
    try:
        smtpObj = smtplib.SMTP_SSL(mail_host, 465)  # 启用SSL发信, 端口一般是465
        smtpObj.login(mail_user, mail_pass)  # 登录验证
        smtpObj.sendmail(sender, receivers, message.as_string())  # 发送
        print("mail has been send to {0} successfully.".format(receivers))
    except smtplib.SMTPException as e:
        print(e)

    二、加强版附件传输邮件

    # -*- coding: UTF-8 -*-
    
    import smtplib
    from email.mime.text import MIMEText
    from email.mime.multipart import MIMEMultipart
    from email.header import Header
    
    # Files' Paths:
    file1 = 'mail.py'
    file2 = 'maill.py'
    # 收邮件的地址,可以多个。
    Receivers = ['receiver1@163.com','receiver2@163.com'] 
    # 邮件主题:
    title = 'Python SMTP 邮件(文件传输)'
    
    
    # 模拟服务器
    # SMTP服务器
    SMTPServer="smtp.163.com"
    # 发邮件的地址
    Sender="yourname@163.com"
    # 发送者邮件的授权密码,去163邮箱设置里获取。并非是密码。
    passwd="xxx"  
    
    # 创建一个带附件的实例
    message = MIMEMultipart()
    message['From'] = Sender
    message['To'] = ",".join(Receivers)
    message['Subject'] = title
    # 邮件正文内容
    message.attach(MIMEText('附件中是要传输的文件。\n ', 'plain', 'utf-8'))
    message.attach(MIMEText('The files you need are as followed. \n ', 'plain', 'utf-8'))
    
    # 构造附件1
    att1 = MIMEText(open(file1, 'rb').read(), 'base64', 'utf-8')
    att1["Content-Type"] = 'application/octet-stream'
    att1["Content-Disposition"] = 'attachment; filename={0}'.format(file1)
    message.attach(att1)
    
    # 构造附件2
    att2 = MIMEText(open(file2, 'rb').read(), 'base64', 'utf-8')
    att2["Content-Type"] = 'application/octet-stream'
    att2["Content-Disposition"] = 'attachment; filename={0}'.format(file2)
    message.attach(att2)
    
    try:
        mailServer = smtplib.SMTP(SMTPServer, 25)  # 25为端口号(邮件),0-1024都被系统占用了
        # 登录邮箱
        mailServer.login(Sender, passwd)  # 需要的是,邮箱的地址和授权密码
        # 发送文件
        mailServer.sendmail(Sender, Receivers, message.as_string())
        print("邮件发送成功")
        print("Mail with {0} & {1} has been send to {2} successfully.".format(file1,file2,Receivers))
    except smtplib.SMTPException as e:
        print("Error: 无法发送邮件")
        print(e)

    后话

    可以把代码加到网络train.py的最后,别忘了在train.py的开头加上:

    # -*- coding: UTF-8 -*-
    import smtplib
    from email.mime.text import MIMEText
    from email.mime.multipart import MIMEMultipart
    from email.header import Header

    然后你就可以专心忙自己的事情,网络训练结束就自动发邮件啦~

    更多python相关文章请关注python自学网。

    起源地下载网 » 利用python自动发邮箱

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元