zoukankan      html  css  js  c++  java
  • python发邮件遇到的端口号问题

    在学习使用python发邮件的过程中, 遇到了一个问题:由于测试的时候使用的是QQ邮箱,要求必须使用SSL/TLS加密,所以有了下面的代码,

    from email.mime.text import MIMEText
    import smtplib
    
    msg = MIMEText('hello, send by Python...', 'plain', 'utf-8')
    
    # 输入Email地址和口令:
    from_addr = '*********@qq.com'
    password = '*********'
    # 输入收件人地址:
    to_addr = '*********@gmail.com'
    # 输入SMTP服务器地址:
    smtp_server = 'smtp.qq.com'
    smtp_port = 465
    
    print('done')
    server = smtplib.SMTP(smtp_server, smtp_port) # SMTP协议默认端口是25
    print('done0')
    server.starttls()
    server.set_debuglevel(1)
    server.login(from_addr, password)
    server.sendmail(from_addr, [to_addr], msg.as_string())
    server.quit()
    

     结果是只打印了 done 就不再继续向下运行了。也就是代码停在了

    server = smtplib.SMTP(smtp_server, smtp_port)

    但是如果把端口号改成587的话,又能够正常执行

    google了一下,得到以下答案:

    465端口是SSL/TLS通讯协议的 内容一开始就被保护起来了 是看不到原文的。

    587端口是STARTTLS协议的 属于TLS通讯协议 只是他是在STARTTLS命令执行后才对之后的原文进行保护的

  • 相关阅读:
    123
    p1216
    离线可持久化动态树
    线段树合并
    p2024
    树的dfs序,p1539,p1651,,2018/11/08模拟赛T3
    p1460
    CDQ分治,二维数点与三维数点,p1357与p2026与p2027与p2028与p2029
    自动AC机
    平衡二叉树之splay p1998
  • 原文地址:https://www.cnblogs.com/christsong/p/5609990.html
Copyright © 2011-2022 走看看