日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

SMTP 之 Python2 調(diào)用示例

更新時(shí)間:

本文介紹SMTP 之 Python2 調(diào)用示例。

使用 Python 通過 SMTP 協(xié)議發(fā)信

# -*- coding:utf-8 -*-
import smtplib
import email
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.base import MIMEBase
from email.mime.application import MIMEApplication
from email.header import Header

# 發(fā)件人地址,通過控制臺(tái)創(chuàng)建的發(fā)件人地址
username = '***'

# 發(fā)件人密碼,通過控制臺(tái)創(chuàng)建的發(fā)件人密碼
password = '***'

# 自定義的回復(fù)地址
replyto = '***'

# 收件人地址或是地址列表,支持多個(gè)收件人,具體數(shù)量參考規(guī)格清單
#receivers = ['address1@example.com', 'address2@example.com']
#rcptto = ','.join(rcptto)
rcptto = '***'

# 構(gòu)建alternative結(jié)構(gòu)
msg = MIMEMultipart('alternative')
msg['Subject'] = Header('自定義信件主題'.decode('utf-8')).encode()
msg['From'] = '%s <%s>' % (Header('自定義發(fā)信昵稱'.decode('utf-8')).encode(), username)
msg['To'] = rcptto
msg['Reply-to'] = replyto
msg['Message-id'] = email.utils.make_msgid()
msg['Date'] = email.utils.formatdate() 

# 構(gòu)建alternative的text/plain部分
textplain = MIMEText('自定義TEXT純文本部分', _subtype='plain', _charset='UTF-8')
msg.attach(textplain)

# 構(gòu)建alternative的text/html部分
texthtml = MIMEText('自定義HTML超文本部分', _subtype='html', _charset='UTF-8')
msg.attach(texthtml)

# 發(fā)送郵件
try:
    client = smtplib.SMTP()
    #python 2.7以上版本,若需要使用SSL,可以這樣創(chuàng)建client
    #client = smtplib.SMTP_SSL()

    #SMTP普通端口為25或80
    client.connect('smtpdm.aliyun.com', 25)

    #開啟DEBUG模式
    client.set_debuglevel(0)

    client.login(username, password)

    #發(fā)件人和認(rèn)證地址必須一致
    #備注:若想取到DATA命令返回值,可參考smtplib的sendmaili封裝方法:
    #      使用SMTP.mail/SMTP.rcpt/SMTP.data方法
    client.sendmail(username, rcptto, msg.as_string())
    #支持多個(gè)收件人
    #client.sendmail(username, receivers, msg.as_string())

    client.quit()
    print '郵件發(fā)送成功!'
except smtplib.SMTPConnectError, e:
    print '郵件發(fā)送失敗,連接失?。?, e.smtp_code, e.smtp_error
except smtplib.SMTPAuthenticationError, e:
    print '郵件發(fā)送失敗,認(rèn)證錯(cuò)誤:', e.smtp_code, e.smtp_error
except smtplib.SMTPSenderRefused, e:
    print '郵件發(fā)送失敗,發(fā)件人被拒絕:', e.smtp_code, e.smtp_error
except smtplib.SMTPRecipientsRefused, e:
    print '郵件發(fā)送失敗,收件人被拒絕:', e.smtp_code, e.smtp_error
except smtplib.SMTPDataError, e:
    print '郵件發(fā)送失敗,數(shù)據(jù)接收拒絕:', e.smtp_code, e.smtp_error
except smtplib.SMTPException, e:
    print '郵件發(fā)送失敗, ', e.message
except Exception, e:
    print '郵件發(fā)送異常, ', str(e)