zoukankan      html  css  js  c++  java
  • 使用QQ邮箱发送email(Python)

    实际开发过程中使用到邮箱的概率很高,那么如何借助python使用qq邮箱发送邮件呢?
    代码很简单,短短几行代码就可以实现这个功能。
    使用到的模块有smtplib和email这个两个模块,关于这两个模块的方法就不多说了。
    我们先说说网上常用的使用这那两个模块发送邮件的方法
    代码如下:

    import smtplib
    from email.mime.text import MIMEText
    from email.header import Header
    
    def SendEmail(fromAdd, toAdd, subject, attachfile, htmlText):
      strFrom = fromAdd;
      strTo = toAdd;
      msg =MIMEText(htmlText);
      msg['Content-Type'] = 'Text/HTML';
      msg['Subject'] = Header(subject,'gb2312');
      msg['To'] = strTo;
      msg['From'] = strFrom;
      
      smtp = smtplib.SMTP('smtp.qq.com');
      smtp.login('501257367@qq.com','password');
      try:
        smtp.sendmail(strFrom,strTo,msg.as_string());
      finally:
        smtp.close;
    
    if __name__ == "__main__":
      SendEmail("501257367@qq.com","501257367@qq.com","","hello","hello world");
    

    运行结果:

    smtplib.SMTPAuthenticationError: (530, 'Error: A secure connection is requiered(such as ssl). More information at http://service.mail.qq.com/cgi-bin/help?id=28')
    

    报错,需要一个安全的连接,例如SSL,因此接下来我们会使用SSL的方式去登录,但是在那之前,我们需要做一些准备,打开qq邮箱,点击设置->
    账户,找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,开启IMAP/SMTP服务,然后根据要求使用手机发送到指定号码,获取授权码,
    这个授权码就是你接下来登录要使用的密码,配置完成,上代码

    import smtplib
    from email.mime.text import MIMEText
    _user = "你的qq邮箱"
    _pwd  = "你的授权码"
    _to   = "xxx@163.com"
    
    msg = MIMEText("Test")
    msg["Subject"] = "don't panic"
    msg["From"]    = _user
    msg["To"]      = _to
    
    try:
    	s = smtplib.SMTP_SSL("smtp.qq.com", 465)
    	s.login(_user, _pwd)
    	s.sendmail(_user, _to, msg.as_string())
    	s.quit()
    	print("Success!")
    except smtplib.SMTPException,e: 
    	print ("Falied,%s" %e) 
    

    运行结果如下:

    大功告成

    上述是在Python2.7版本下完成的测试

  • 相关阅读:
    bzoj 1030 [JSOI2007]文本生成器
    Swift 学习笔记 (闭包)
    Swift 学习笔记 (函数)
    HTML 学习笔记 JQueryUI(Interactions,Widgets)
    HTML 学习笔记 JQuery(表单,表格 操作)
    HTML 学习笔记 JQuery(animation)
    HTML 学习笔记 JQuery(盒子操作)
    HTML 学习笔记 JQuery(事件)
    HTML 学习笔记 JQuery(DOM 操作3)
    HTML 学习笔记 JQuery(DOM 操作2)
  • 原文地址:https://www.cnblogs.com/leetao94/p/5460520.html
Copyright © 2011-2022 走看看