python實(shí)現(xiàn)電子郵件群發(fā)功能

  

在運(yùn)維開發(fā)中,使用 Python 發(fā)送電子郵件是一個(gè)非常常見的應(yīng)用場景,但不少剛接觸python的新手還不是很清楚,今天一米軟件和大家一起來探討一下python實(shí)現(xiàn)電子郵件群發(fā)功能怎么實(shí)現(xiàn)。


python實(shí)現(xiàn)電子郵件群發(fā)功能


SMTP是發(fā)送郵件的協(xié)議,Python內(nèi)置對(duì)SMTP的支持,可以發(fā)送純文本郵件、HTML郵件以及帶附件的電子郵件。


python實(shí)現(xiàn)電子郵件群發(fā)功能的python主要代碼如下:


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

import smtplib

sender = '你的電子郵件地址'

username = '你的用戶名'

userpwd = '你的電子郵箱密碼'

# 這里以126郵箱為例,可以根據(jù)需要進(jìn)行修改

host = 'smtp.126.com'

port = 25

# 要發(fā)送的郵件內(nèi)容

body = '''這是測試信息。'''

# 要群發(fā)的電子郵件地址

recipients = ('第一個(gè)收件人電子郵件地址',

'第二個(gè)收件人電子郵件地址',

'第三個(gè)收件人電子郵件地址')

# 登錄自己的電子郵箱服務(wù)器

server = smtplib.SMTP(host, port)

server.starttls()

server.login(username, userpwd)

# 開始群發(fā)

for recipient in recipients:

# 創(chuàng)建郵件

msg = MIMEMultipart()

msg.set_charset('utf-8')

# 回復(fù)地址與發(fā)信地址可以不同

# 但是大部分郵件系統(tǒng)在回復(fù)時(shí)會(huì)提示

msg['Reply-to'] = '你的另外一個(gè)電子郵件地址'

# 設(shè)置發(fā)信人、收信人和主題

msg.add_header('From', sender)

msg.add_header('To', recipient)

msg.add_header('Subject', '這是一個(gè)測試')

# 設(shè)置郵件文字內(nèi)容

msg.attach(MIMEText(body, 'plain',_charset="utf-8"))

# 添加圖片

with open('測試圖片.jpg', 'rb') as fp:

msg.attach(MIMEImage(fp.read()))

# 添加附件文件

attachment = MIMEBase('text', 'txt')

with open('測試附件.txt', 'rb') as fp:

attachment.set_payload(fp.read())

email.encoders.encode_base64(attachment)

attachment.add_header('content-disposition',

'attachment',filename=('utf-8', '', '測試附件.txt'))

msg.attach(attachment)

# 發(fā)送郵件

server.send_message(msg)

# 退出郵件服務(wù)器

相關(guān)資訊

推薦軟件