• 使用python发送邮件


    这里用到了Python的两个包来发送邮件: smtplib 和 email 。
      Python 的 email 模块里包含了许多实用的邮件格式设置函数,可以用来创建邮件“包裹”。使用的 MIMEText 对象,为底层的 MIME(Multipurpose Internet MailExtensions,多用途互联网邮件扩展类型)协议传输创建了一封空邮件,最后通过高层的SMTP 协议发送出去。 MIMEText 对象 msg 包括收发邮箱地址、邮件正文和主题,Python 通过它就可以创建一封格式正确的邮件。smtplib 模块用来设置服务器连接的相关信息。

      要想通过QQ邮箱来发送邮件,需要开启163邮箱的设置-账户里SMTP服务,接下来会通过发送短信验证来获得授权码,有了授权码后就可以在代码里添加了。

    以下代码都是在python3.6环境下运行:

    #coding=utf-8
    import smtplib
    from email.mime.text import MIMEText
    
    from_mail = "xxxx@163.com"  # 发件人
    to_mail = "xxxx@qq.com"    # 收件人
    mail_passwd = "xxxx"    # 163邮件的授权码而不是登录密码
    
    content = "this is the first python email"
    subject = "mail test"
    msg = MIMEText(content)
    msg['Subject'] = subject
    msg['From'] = from_mail
    msg['To'] = to_mail
    try:
       s = smtplib.SMTP()
       s.connect('smtp.163.com')    # 连接到smtp服务器
       s.login(from_mail,mail_passwd)    # 登录163邮箱
       s.sendmail(from_mail,to_mail,msg.as_string())   # 使用smtp服务器向外发送邮件
       print("OK")
    except Exception as e:
       print(e)
    finally:
       s.close()
    
    #coding=utf-8
    import smtplib, sys
    from email.mime.text import MIMEText
    
    content = "this is the first python email"
    subject = "mail test"
    msg = MIMEText(content)
    msg['Subject'] = subject
    msg['From'] = sys.argv[1]     # 使用脚本外带的参数输入发件人,收件人以及授权码
    msg['To'] = sys.argv[3]
    try:
       s = smtplib.SMTP()
       s.connect('smtp.163.com')
       s.login(sys.argv[1],sys.argv[2])
       s.sendmail(sys.argv[1],sys.argv[3],msg.as_string())
       print("OK")
    except Exception as e:
       print(e)
    finally:
       s.close()
    

      

  • 相关阅读:
    bzoj 4610 Ceiling Functi
    uva 01350
    uva 12075
    uva 01393
    uva 11038
    CF 496E
    CF 496D
    poj 3167
    hdu 4622
    spoj 7258
  • 原文地址:https://www.cnblogs.com/jsonhc/p/7285323.html
Copyright © 2020-2023  润新知