python 发送邮箱

实现一个简单的邮箱发送脚本:

  环境安装: python2.7

  代码:   

 1     #!/usr/bin/python
 2     # vim: set fileencoding=utf-8
 3     import smtplib
 4     import sys
 5     from email.mime.multipart import MIMEMultipart
 6     from email.mime.text import MIMEText
 7     from email.header import Header
 8 
 9     reload(sys)
10     sys.setdefaultencoding('utf-8')
11 
12     #邮箱内容   使用html格式 也可以直接用文本内容
13     mail_msg = """
14       <h2 style="color:#f00">内容标题</h2>
15       <p> 内容********** </p>
16     """
17 
18     message = MIMEText(mail_msg,'html','utf-8')
19 
20     #’发送人名字 邮箱备注‘
21     message['From'] = Header('发件人 <*******@qq.com>')
22     #收件人名字 随意填写
23     message['To'] = Header('收件人','utf-8')
24     #邮箱标题
25     subject = '报警警告!'
26     message['Subject'] = Header(subject,'utf-8')
27 
28     #发送方的邮箱
29     sender = '*******@qq.com'
30     #接受方的邮箱 可多写
31     receivers = ['****@qq.com']
32 
33     #邮箱服务 发送邮箱
34     smtpObj = smtplib.SMTP_SSL("smtp.qq.com", 465)
35     smtpObj.login(sender,"授权码")   #授权码需要开启发送方的qq邮箱 “POP3/SMTP服务” 验证获取 具体获取方式在下方
36     smtpObj.sendmail(sender, receivers , message.as_string())
37     smtpObj.quit()
38     print("邮箱发送成功!")

 

开启QQ邮箱POP3/SMTP服务获得授权码:

  (1)登入QQ邮箱: 点击“设置” -> "账户"

    

    往下滑 找到 “POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务”这一栏  点击开启第一个“POP3/SMTP服务”

    

    (2)验证密保  发送短信
    
    (3)获取授权码  获取授权码后将此码 复制放到 上面代码中的login即可
    
 
 
   LInux下执行报错解决方式:

     

    如遇到以上报错 可能是DNS无法解析造成的   检查/etc/hosts 文件中是否有以下这一行

    

    再检查/etc/resolv.conf 文件下是否配置正确的DNS   配置好后执行 service network restart 重起网络配置即可

    

 

posted @ 2022-11-28 15:33  Paimon丶  阅读(103)  评论(0)    收藏  举报