zoukankan      html  css  js  c++  java
  • 发邮件的python脚本

    1. 编写一个最简单的发邮件的python脚本

     
    1. #coding: utf-8
    2. import smtplib
    3. from email.mime.text import MIMEText
    4. from email.header import Header
    5. sender = '929135087@qq.com'       #发件人账号
    6. receiver = '929135087@qq.com'     #收件人,以列表的形式支持多个收件人,例:['收件人1','收件人2']
    7. subject = 'python email test'    #标题
    8. smtpserver = 'smtp.qq.com'       #设置邮件服务器
    9. username = '929135087@qq.com'    #用户名
    10. password = '*********'           #授权口令
    11. msg = MIMEText( 'Hello Python', 'plain', 'utf-8' )         #'内容','格式','编码'
    12. msg['Subject'] = Header( subject, 'utf-8' )                
    13. msg['From'] = Header( '小鱼', 'utf-8' )                    #发件人
    14. try:
    15.     #smtp = smtplib.SMTP()
    16.     smtp = smtplib.SMTP_SSL('smtp.qq.com:465')    #使用465端口,默认25端口
    17.     smtp.connect( smtpserver )
    18.     smtp.login( username, password )
    19.     smtp.sendmail( sender, receiver, msg.as_string()  # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
    20.     print("邮件发送成功")
    21.     smtp.quit()
    22. except smtplib.SMTPException:
    23.     print("Error: 无法发送邮件")
     

    2. 运行结果

    如果在上述代码usernamepassword,变量中填写邮箱的帐号密码那么会看到以下报错:

     
    1. Traceback (most recent call last):
    2. File "mail.py", line 18, in <module>
    3. smtp.login( username, password )
    4. File "/usr/lib64/python2.6/smtplib.py", line 589, in login
    5. raise SMTPAuthenticationError(code, resp)
    6. smtplib.SMTPAuthenticationError: (535, 'Error: authentication failed')
     

    3. 解决方法

    调用163邮箱或qq邮箱服务器来发送邮件,我们需要开启POP3/SMTP服务,这时163邮件或QQ邮箱会让我们设置客户端授权码,这个授权码替代上面代码部分的password即可成功发送邮件

  • 相关阅读:
    发工资
    洛谷 P1821 [USACO07FEB]银牛派对Silver Cow Party
    洛谷P2169 正则表达式
    洛谷[LnOI2019]长脖子鹿省选模拟赛t1 -> 快速多项式变换
    洛谷 P1690 贪婪的Copy
    洛谷P1090 合并果子
    洛谷P1886 滑动窗口
    洛谷CF784E Twisted Circuit
    洛谷P2430 严酷的训练
    开博客第一天祭!!!
  • 原文地址:https://www.cnblogs.com/uvwill/p/10877181.html
Copyright © 2011-2022 走看看