msyz999明仕亚洲官网文娱python stmp module 163邮箱发送邮件不告成

http://blog.csdn.net/lucahan/…
我照着这个的教程试了下,就卡在connect效力器上,不断连不上,我上彀没有题目。
请教是什么缘由!

由于这很多教程都是过了N手的渣滓复成品, 转载者乃至都没做实际测试就转发了

我这段可以告成发送Python3

import smtplib
from email.mime.text import MIMEText

# 第三方 SMTP 效力
mail_host = "smtp.163.com"  # SMTP效力器
mail_user = "username"  # 用户名
mail_pass = "passwd"  # 暗码

sender = user@163.com  # 发件人邮箱最好写全, 不然会失败
receivers = [to_someone@qq.com]  # 接纳邮件,可设置为你的QQ邮箱或许其他邮箱


content = 过期教程害逝世人!
title = Python SMTP Mail Test  # 邮件主题
message = MIMETextcontent, plain, utf-8  # 内容, 款式, 编码
message[From] = "{}".formatsender
message[To] = ",".joinreceivers
message[Subject] = title

try:
    smtpObj = smtplib.SMTP_SSLmail_host, 465  # 启用SSL发信, 端口普通是465
    smtpObj.loginmail_user, mail_pass  # 登录验证
    smtpObj.sendmailsender, receivers, message.as_string  # 发送
    print"mail has been send successfully."
except smtplib.SMTPException as e:
    printe
    

发送后果如图:

开辟情况:
零碎:Ubuntu 16.04 LTS
版本:python 3.5.2
邮箱效力器:stmp.126.com

留意:

1.不行注释群发带图,不然会被stmp.126.com认定为渣滓邮件,发不出去 – -!!! 也便是说该代码群发的话,只能用plain纯文本形式.

2.由于我的邮箱效力器是126的,以是发起也运用126邮箱测试,测试的条件是你需求守旧客户端授权,守旧后会让你设置暗码,那个暗码要记好,下面的passwd接纳的是授权暗码而不是邮箱暗码!

3.代码中需求改的中央的中央: 发件人/授权暗码/收件人/附件中图片的途径,以及下面的图片款式
若不需求发附件,把with:代码块隐蔽即可

下面直接贴代码部分了,我自己曾经测试过代码了,在以下情况运转没有题目,群发,单发,附件,邮件注释带图等等.

#!/usr/bin/python3
# coding:utf-8

#=========================================================================
# 加密SMTP
#
# 运用标准的25端口衔接SMTP效力器时,运用的是明文传输,发送邮件的整个进程可以会被窃听。要更安全地发送邮件,可以加密SMTP会话,实际上便是先创立SSL安全衔接,然后再运用SMTP协议发送邮件。  
#=========================================================================

    from email import encoders
    from email.header import Header
    from email.mime.base import MIMEBase
    from email.mime.multipart import MIMEMultipart
    from email.mime.text import MIMEText
    from email.utils import parseaddr, formataddr, formatdate
    
    import smtplib
    
    # return Alias_name <xxxx@example.com>
    
    
    def _format_addrs:
        name, addr = parseaddrs
        return formataddrHeadername, utf-8.encode, addr
    
    # 接纳参数: 发件人地点
    from_addr = 你的邮箱地点
    
    # 接纳参数: 客户端授权暗码
    passwd = 你的客户端授权暗码
    
    # 接纳参数: 收件人地点,可多个
    to_addrs = [ex@qq.com, ex@163.com, ex@gmail.com]
    
    # 接纳参数: SMTP效力器留意:是发件人的smtp效力器
    smtp_server = smtp.126.com
    
    
    # 接纳参数: 邮件主题
    subject = 人生苦短
    
    # 接纳参数: 邮件注释
    plain = 我用python!
    
    # 带附件邮件
    # 指定subtype为alternative,同时支持html和plain款式
    msg = MIMEMultipartalternative
    # 邮件注释中表现图片,同时附件的图片将不再表现
    # plain = Hello world and hello me!
    msg.attachMIMETextstrplain, plain, utf-8       # 纯文本
    # html = <html><body><h1>Hello</h1><p><img src="cid:0"></p></body></html>
    # msg.attachMIMETexthtml, html, utf-8         # HTML
    # 添加附件:即联络干系一个MIMEBase,图片为外地读取
    with open/home/uxeix/Pictures/icon/favicon Jianshu.ico, rb as f:
        # 设置附件中的MIME和文件名
        mime = MIMEBaseimage, jpeg, filename=hot.jpg
        # 加上需要的头信息
        mime.add_headerContent-Disposition, attachment,
                        filename=hot.jpg
        mime.add_headerContent-ID, <0>
        mime.add_headerX-Attachment-Id, 0
        # 把附件的内容读出去
        mime.set_payloadf.read
        # 用Base64编码
        encoders.encode_base64mime
        # 添加到MIMEMultipart
        msg.attachmime
    
    # 未指定用户又名,则客户端会主动提取邮件地点中的称号作为邮件的用户又名
    msg[From] = _format_addrfrom_addr
    # msg[To] = _format_addrto_addrs
    msg[To] = %s % ,.join[_format_addr<%s> % to_addr
                                 for to_addr in to_addrs]
    msg[Subject] = Headerstrsubject, utf-8.encode
    msg[Date] = formatdate
    
    
    #=========================================================================
    # 发送邮件
    #=========================================================================
    try:
        # SMTP效力器设置地点,端口:
        server = smtplib.SMTP_SSLsmtp_server, 465
        # server.set_debuglevel1
        # 衔接SMTP效力器发件人地点, 客户端授权暗码
        server.loginfrom_addr, passwd
    
        # 发送邮件
        server.sendmailfrom_addr, to_addrs, msg.as_string
    
        print邮件发送告成
    
    except smtplib.SMTPException as e:
        printe
        print邮件发送失败
    
    finally:
        # 加入SMTP效力器
        server.quit

#举荐一个发邮件库 envelopes 
from envelopes import Envelope
envelope = Envelope
    from_addr=from@example.com, From Example,
    to_addr=to@example.com, To Example, 
    subject=Envelopes demo, 
    html_body=<h1>测试邮件</h1><h2>作者:sf</h2>, 
    text_body="这是一封测试邮件", 
    cc_addr=boss1@example.com, 
    bcc_addr=boss2@example.com,
    headers=,
    charset=,

envelope.add_attachmenttest.jpg#附件

envelope.sendsmtp.163.com, login=from@example.com,password=password, tls=True

Linux:Centos6.5

Python:2.7

我之前写过一个在消费情况跑起来的发送邮件脚本,运用stmp协议,见我的Github:
https://github.com/wing324/au…

(看完/读完)这篇文章有何感想! msyz999明仕亚洲官网娱乐的分享…

发表评论

姓名 *
电子邮件 *
站点