zoukankan      html  css  js  c++  java
  • Python 标准库 —— 邮件(email)与邮件服务器(smtplib)

    你真的懂邮件吗?邮件包括如下四部分内容:

    • 发送人:from_addr
    • 接收人:to_addr
    • 主题:subject
    • 正文:msg(mime text 格式文本)

    其中发送者,接收者,又需要两部分的内容构成:用户名(字符串形式)及其邮件地址(xx@xx.com)。

    from email.mime.text import MIMEText
    from email.header import Header
    from email.utils import parseaddr, formataddr
    import smtplib
    
    def format_addr(s):
        name, addr = parseaddr(s)    # 将 s 解析为用户名,邮件地址,比如 s = '用户1 <%s>' % 'xx@xx.com'
        return formataddr((Header(name, 'utf-8').encode(), addr))
    
    def email_server(server_ip, server_port):
        return smtplib.SMTP(server_ip, server_port)
    
    # MIMEText 正文内容
    mimetext = MIMEText('hello there, when u read this, means ...', 'plain', 'utf-8')
    
    from_addr = 'xxx@xxx.com'
    password = 'xxxxxx'
    from_info = '用户1<%s>' % from_addr
    
    to_addr = 'xxxx@xxxx.com'
    to_info = '用户2<%s>' % to_addr
    
    mimetext['From'] = format_addr(from_info)
    mimetext['To'] = format_addr(to_info)
    mimetext['Subject'] = Header('邮件测试', 'utf-8').encode()
    
    # 网易邮箱服务器
    server_ip = 'smtp.126.com'
    server = email_server(server_ip, server_port=25)
    # 登陆
    server.login(from_addr, password)
    # 发送邮件
    server.sendmail(from_addr, [to_addr], mimetext.as_string())
    server.quit()


    这里写图片描述

  • 相关阅读:
    SDUT 猴子分桃
    SDUT 母牛的故事
    SDUT 小鑫の日常系列故事(六)——奇遇记 递推算法
    SDUT 爬楼梯
    SDUT 王小二切饼
    linux 排序命令sort
    shell 判断语句
    shell统计指定范围内的所有质数以及它们的和
    shell 1到指定数累加
    shell九九乘法表
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9421079.html
Copyright © 2011-2022 走看看