溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python發(fā)送郵件和附件

發(fā)布時(shí)間:2020-07-12 18:34:58 來(lái)源:網(wǎng)絡(luò) 閱讀:971 作者:HappyBoyLi 欄目:編程語(yǔ)言

發(fā)送郵件的時(shí)候,需要發(fā)送人,收件人,和一臺(tái)郵件服務(wù)器,這里使用python發(fā)送一個(gè)郵件,主要需要引入smtplib和email庫(kù)。
下面是源碼,粘貼即可用:

#!/usr/bin/env python3
# coding: utf-8
import smtplib
import time
import sys
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

# 發(fā)送郵件
def SendMail(mail_list, subject, content):
    from_mail = '這里填入發(fā)件人郵箱'
    temp_msg = '武松申請(qǐng)了車(chē)費(fèi)報(bào)銷(xiāo)'
    msg = MIMEText('</pre><p>' + temp_msg + '</p><a href="/agree">同意</a>,<a href="/disagree">不同意</a><pre>', 'html','utf-8')
    msg['Subject'] = subject
    msg['From'] = from_mail
    msg['To'] = mail_list
    msg['date'] = time.strftime('%a, %d %b %Y %H:%M:%S %z')
    smtp_server = '這里填入郵件服務(wù)器的地址'
    s = smtplib.SMTP(smtp_server)
    s.login("填入登錄郵件服務(wù)器的郵箱", "填入郵箱密碼")
    s.sendmail(from_mail, mail_list.split(","), msg.as_string())
    s.quit()

# 發(fā)送郵件帶附件
def SendMailWithAttachment(mail_list, subject, content, attachment):
    from_mail = '這里填入發(fā)件人郵箱'
    msg = MIMEMultipart()
    msg['Subject'] = subject
    msg['From'] = from_mail
    msg['To'] = mail_list
    msg['date'] = time.strftime('%a, %d %b %Y %H:%M:%S %z')
    msg.attach(MIMEText(content, 'html', 'utf-8'))
    att = MIMEText(open(attachment, 'rb').read(), 'base64', 'utf8')
    att["Content-Type"] = 'application/octet-stream'
    att["Content-Disposition"] = 'attachment; filename="%s"' % attachment
    msg.attach(att)
    smtp_server = '這里填入郵件服務(wù)器的地址'
    s = smtplib.SMTP(smtp_server)
    s.login("填入登錄郵件服務(wù)器的郵箱", "填入郵箱密碼")
    s.sendmail(from_mail, mail_list.split(","), msg.as_string())
    s.quit()

if __name__ == '__main__':
    if len(sys.argv) < 4:
        print('Usage:', sys.argv[0], ' mail_list subject content [attachment]')
        sys.exit(1)
    content = ""
    if len(sys.argv) == 4:
        SendMail(sys.argv[1], sys.argv[2], content)
    else:
        SendMailWithAttachment(sys.argv[1], sys.argv[2], content, sys.argv[4])

你需要修改的地方是:

from_mail:發(fā)件人信息
temp_msg:發(fā)送的內(nèi)容
smtp_server:郵件服務(wù)器地址
s.login:郵件服務(wù)器登錄名和密碼

命令行發(fā)送:
python3 sendmail.py '772654204@qq.com' 'python send mail' 'leran is fun'

顯示效果:
python發(fā)送郵件和附件

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI