美文网首页
使用SMTP发送邮件

使用SMTP发送邮件

作者: 时光不说话 | 来源:发表于2018-01-26 00:33 被阅读0次

    一、发送文本型内容

    代码如下:

     -*- coding: utf-8-*-  #没有这句话,发送不了中文
    
    from email import encoders
    from email.header import Header
    from email.mime.text import MIMEText
    from email.utils import parseaddr, formataddr
    
    import smtplib
    
    def _format_addr(s):
        name, addr = parseaddr(s)
        return formataddr((Header(name, 'utf-8').encode(), addr))
    
    from_addr = '发件地址@qq.com'
    password = '客户端授权登陆密码'
    to_addr = '收件地址@qq.com'
    smtp_server = 'smtp.qq.com' 
    
    msg = MIMEText('hello, send by ...', 'plain', 'utf-8')
    msg['From'] = _format_addr('你猜我是谁 <%s>' % from_addr)
    msg['To'] = _format_addr('笨蛋 <%s>' % to_addr)
    msg['Subject'] = Header('来自温暖被窝的问候……', 'utf-8').encode()
    
    server = smtplib.SMTP_SSL(smtp_server, 465)
    server.set_debuglevel(1)
    server.login(from_addr, password)
    server.sendmail(from_addr, [to_addr], msg.as_string())
    server.quit()
    

    二、发送HTML格式邮件

    msg = MIMEText('hello, send by ...', 'plain', 'utf-8')
    

    替换为:

    mail_msg = """
    <p>Python 邮件发送测试...</p>
    <p><a href="http://www.runoob.com">这是一个链接</a></p>
    """
    msg = MIMEText(mail_msg, 'html', 'utf-8')
    

    遇到的问题:

    1、要确保自己的邮箱地址开启了smtp服务,开启服务的方法网上也有。

    2、不同邮箱的smtp服务地址(smtp_server)不同,可以上网搜索。


    3、如果不设置客户端授权登陆密码 :smtplib.SMTPAuthenticationError: (``530``, 'Error: A secure connection is requiered(such as ssl). More information at [http://service.mail.qq.com/cgi-bin/help?id=28](http://service.mail.qq.com/cgi-bin/help?id=28)'``)

    程序报503错误
    原因:需要一个安全的连接,例如SSL,因此我们要使用SSL的方式去登录

    4、设置客户端授权登陆密码
    打开qq邮箱,点击设置->
    账户,找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,开启IMAP/SMTP服务,然后根据要求使用手机发送到指定号码,获取授权码,
    这个授权码就是你接下来登录要使用的密码,配置完成,上代码,另,QQ的授权码有效期为30天。

    5、改了上面的SSL之后,运行报错
    我原来的代码是server = smtplib.SMTP(smtp_server, 465)
    后来改为:server = smtplib.SMTP_SSL(smtp_server, 465)即可。

    6、注意,代码中的465代表端口号,不同的服务端口号不同。

    相关文章

      网友评论

          本文标题:使用SMTP发送邮件

          本文链接:https://www.haomeiwen.com/subject/qxtiaxtx.html