python實現電子郵件群發功能

  

在運維開發中,使用 Python 發送電子郵件是一個非常常見的應用場景,但不少剛接觸python的新手還不是很清楚,今天一米軟件和大家一起來探討一下python實現電子郵件群發功能怎么實現。


python實現電子郵件群發功能


SMTP是發送郵件的協議,Python內置對SMTP的支持,可以發送純文本郵件、HTML郵件以及帶附件的電子郵件。


python實現電子郵件群發功能的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郵箱為例,可以根據需要進行修改

host = 'smtp.126.com'

port = 25

# 要發送的郵件內容

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

# 要群發的電子郵件地址

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

'第二個收件人電子郵件地址',

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

# 登錄自己的電子郵箱服務器

server = smtplib.SMTP(host, port)

server.starttls()

server.login(username, userpwd)

# 開始群發

for recipient in recipients:

# 創建郵件

msg = MIMEMultipart()

msg.set_charset('utf-8')

# 回復地址與發信地址可以不同

# 但是大部分郵件系統在回復時會提示

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

# 設置發信人、收信人和主題

msg.add_header('From', sender)

msg.add_header('To', recipient)

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

# 設置郵件文字內容

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)

# 發送郵件

server.send_message(msg)

# 退出郵件服務器

相關資訊

推薦軟件