zoukankan      html  css  js  c++  java
  • python爬虫-smtplib模块发送邮件

    1、代码如下:

    import smtplib
    
    from email.message from EmailMessage
    
    # smtplib模块负责发送邮件服务
    
    # email.message模块负责构建邮件,然后交给smtplib发送
    
    # 定义SMTP服务器地址
    smtp_server = 'smtp.163.com'
    # 定义发件人地址
    from_addr = "***********@163.com"
    # 定义登录密码
    password = '**********'
    # 定义收件人
    to_addr = "**********@qq.com"
    
    # 创建SMTP连接
    conn = smtplib.SMTP_SSL(smtp_server, 465)
    
    
    conn.set_debuglevel(1)
    
    conn.login(from_addr, password)
    
    # 创建邮件对象
    msg = EmailMessage()
    
    # 设置邮件内容
    msg.set_content('你好,我正在测试如何使用python发送电子邮件', 'plain', 'utf-8')
    
    # 设置邮件主题
    msg['subject'] = "一封测试smtplib模块的邮件"
    
    msg['from'] = from_addr
    
    msg['to'] = to_addr
    
    # 发送邮件
    conn.sendmail(from_addr, [to_addr], msg.as_string())
    
    # 退出连接
    
    conn.quit()

    2、常见异常解决

    2.1SMTPAuthenticationError

    # 定义发件人地址
    from_addr = "***********@163.com"
    # 定义登录密码
    password = '**********'
    # 定义收件人
    to_addr = "**********@qq.com"
    
    # 创建SMTP连接
    conn = smtplib.SMTP_SSL(smtp_server, 465)
    
    
    conn.set_debuglevel(1)
    
    conn.login(from_addr, password)

    出现这个错误是由于conn.login(from_addr, password)中的password不是登录客户端的密码,再强调一遍不是登录客户端的密码是授权码,下面演示如何获取授权码,以

    网易邮箱为例:

     登录进入后,界面所示:

     在设置里面有一个POP3/SMTP/IMAP,点击进入该页面,再点击箭头所示的客户端授权密码

     要保证设置客户端授权码处于开启状态,如果记得就不用重置,如果不记得,就按照要求一步一步重置,然后用自己重置的授权码,作为登录密码就可以了。

    2.2SMTPDataError

    出现这样的异常是由于自己的邮件信息没有设置完整

    # 创建邮件对象
    msg = EmailMessage()
    
    # 设置邮件内容
    msg.set_content('你好,我正在测试如何使用python发送电子邮件', 'plain', 'utf-8')
    
    # 发送邮件
    conn.sendmail(from_addr, [to_addr], msg.as_string())
    
    # 退出连接
    
    conn.quit()

    从上述代码中,我们知道从创建邮件对象开始,只设置了邮件内容,所有才会出现这样的错误,还有设置至少三个信息,这些信息会显示在你的邮件中。

    # 邮件主题
    msg['subject'] = "一封测试smtplib模块的邮件"
    
    # 邮件发送者
    msg['from'] = from_addr
    
    # 邮件接收者
    msg['to'] = to_addr

    邮件对象添加这三个信息后,就能发送成功了。

    3、参考链接

    http://c.biancheng.net/view/2665.html

    https://www.cnblogs.com/fengyiru6369/p/7472679.html

    https://blog.csdn.net/qq_40423339/article/details/87866001

  • 相关阅读:
    C语言I博客作业06
    C语言I博客作业05
    C语言I博客作业04
    C语言II博客作业04
    C语言II博客作业03
    C语言II博客作业02
    C语言II博客作业01
    学期总结
    作业
    C语言I博客作业02
  • 原文地址:https://www.cnblogs.com/loveprogramme/p/11965531.html
Copyright © 2011-2022 走看看