zoukankan      html  css  js  c++  java
  • Python学习笔记——发邮件

    参考:Python3实现163邮箱SMTP发送邮件

    1.首先需要注册一个网易的邮箱,开启smtp服务,并使用其授权码

    2.发送邮件的Python脚本

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    import smtplib
    from email.header import Header
    from email.mime.text import MIMEText
    
    # 第三方 SMTP 服务  
    mail_host = "smtp.163.com"  # SMTP服务器
    mail_user = "XXX"  # 用户名
    mail_pass = "XXX"  # 授权密码,非登录密码
    
    sender = "XXX@163.com"  # 发件人邮箱(最好写全, 不然会失败)
    receivers = ["XXX@126.com"]  # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
    
    content = '我用Python'
    title = '人生苦短'  # 邮件主题  
    
    
    def sendEmail():
        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 successfully.")
        except smtplib.SMTPException as e:
            print(e)
    
    
    def send_email2(SMTP_host, from_account, from_passwd, to_account, subject, content):
        email_client = smtplib.SMTP(SMTP_host)
        email_client.login(from_account, from_passwd)
        # create msg  
        msg = MIMEText(content, 'plain', 'utf-8')
        msg['Subject'] = Header(subject, 'utf-8')  # subject  
        msg['From'] = from_account
        msg['To'] = to_account
        email_client.sendmail(from_account, to_account, msg.as_string())
    
        email_client.quit()
    
    
    if __name__ == '__main__':
        sendEmail()
        # receiver = '***'  
        # send_email2(mail_host, mail_user, mail_pass, receiver, title, content)  
    
  • 相关阅读:
    Spring学习笔记(二)----Spring IOC
    LeetCode----正则表达式匹配「动态规划」
    Markdown----一款轻量级标记语言
    LeetCode----最长回文子串「动态规划」
    数据结构(六)
    数据结构(五)
    HDOJ3613解题报告【拓展KMP】
    HDOJ1358解题报告【KMP算法next数组的使用】
    POJ1990解题报告【树状数组】
    HDOJ1507解题报告【二分图染色】
  • 原文地址:https://www.cnblogs.com/tonglin0325/p/8978196.html
Copyright © 2011-2022 走看看