学习-email实现 by Python3

学习资料:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001432005226355aadb8d4b2f3f42f6b1d6f2c5bd8d5263000

    #coding:utf-8
    #!/usr/bin/env python3
    import smtplib
    from email import encoders
    from email.mime.text import MIMEText
    from email.header import Header
    from email.utils import parseaddr, formataddr
    
    def _format_addr(s):
        """编写了一个函数来格式化一个邮件地址。
        不能简单地传入name <addr@example.com>,
        因为如果包含中文,需要通过Header对象进行编码。
        """
        name, addr = parseaddr(s)
        return formataddr((Header(name, 'utf-8').encode(), addr))
    
    from_addr = input('from:')
    password = input('password:') #这里的密钥不是邮箱密码
    smtp_server = 'smtp.126.com'
    to_addr = input('to:')
    
    #不同的信息类型对应不同的格式,plain或html
    # msg = MIMEText('hello你好, send by python3... ', 'plain', 'utf-8')
    msg = MIMEText('<html><body><h3>Hello</h3>' +
        '<p>send by <a href="http://www.python.org">Python</a>...</p>' +
        '</body></html>', 'html', 'utf-8')
    
    msg['From'] = _format_addr('Python lover <%s>' % from_addr)
    msg['To'] = _format_addr('管理员 <%s>' % to_addr)
    msg['Subject'] = Header('来自SMTP的问候……', 'utf-8').encode()
    
    server = smtplib.SMTP(smtp_server, 25) #SMTP端口是25
    server.set_debuglevel(1)
    server.login(from_addr, password)
    server.sendmail(from_addr, [to_addr], msg.as_string())
    server.quit()

注意事项:
1,邮箱必须手动开通POP或SMTP功能,即通过第三方软件登陆访问SMTP服务器
2,发送信息需要补充From,To,Subject,不然会被拒绝。
3,

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值