中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python如何基于smtplib協議實現發送郵件

發布時間:2020-07-18 17:18:16 來源:億速云 閱讀:128 作者:小豬 欄目:開發技術

小編這次要給大家分享的是Python如何基于smtplib協議實現發送郵件,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

SMTP(Simple Mail Transfer Protocol)即簡單郵件傳輸協議,它是一組用于由源地址到目的地址傳送郵件的規則,由它來控制信件的中轉方式。

python的smtplib提供了一種很方便的途徑發送電子郵件。它對smtp協議進行了簡單的封裝。

Python創建 SMTP 對象語法如下:

import smtplib

smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )

參數說明:

  • host: SMTP 服務器主機。 你可以指定主機的ip地址或者域名如: runoob.com,這個是可選參數。
  • port: 如果你提供了 host 參數, 你需要指定 SMTP 服務使用的端口號,一般情況下 SMTP 端口號為25。
  • local_hostname: 如果 SMTP 在你的本機上,你只需要指定服務器地址為 localhost 即可。

代碼如下

#coding=utf-8
"""
===========================
Author:多測師_王sir
Time:2020/5/20 17:24
Wechat:15367499889
Company:上海多測師信息有限公司
===========================
"""

import os
import smtplib
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
from email.mime.multipart import MIMEMultipart
from common.handleconfig import conf


def send_email(filename, title):
  """
  發送郵件的功能函數
  :param filename: 文件的路徑
  :param title:  郵件的主題
  :return:
  """
  # 第一步:連接郵箱的smtp服務器,并登錄
  smtp = smtplib.SMTP_SSL(host=conf.get("email", "host"), port=conf.getint("email", "port"))
  smtp.login(user=conf.get("email", "user"), password=conf.get("email", "pwd"))

  # 第二步:構建一封郵件
  # 創建一封多組件的郵件
  msg = MIMEMultipart()

  with open(filename, "rb") as f:
    content = f.read()
  # 創建郵件文本內容
  text_msg = MIMEText(content, _subtype="html", _charset="utf8")
  # 添加到多組件的郵件中
  msg.attach(text_msg)
  # 創建郵件的附件
  report_file = MIMEApplication(content)
  report_file.add_header('content-disposition', 'attachment', filename=os.path.split(filename)[-1])
  # 將附件添加到多組件的郵件中
  msg.attach(report_file)

  # 主題
  msg["Subject"] = title
  # 發件人
  msg["From"] = conf.get("email", "from_addr")
  # 收件人
  msg["To"] = conf.get("email", "to_addr")

  # 第三步:發送郵箱
  smtp.send_message(msg, from_addr=conf.get("email", "from_addr"), to_addrs=conf.get("email", "to_addr"))

看完這篇關于Python如何基于smtplib協議實現發送郵件的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

资中县| 南部县| 云霄县| 甘孜| 四川省| 彝良县| 西乡县| 肇庆市| 巴彦县| 志丹县| 龙游县| 军事| 大兴区| 大余县| 永善县| 新宾| 太康县| 宁乡县| 弥勒县| 金塔县| 馆陶县| 邯郸县| 长岭县| 汶上县| 莲花县| 高碑店市| 拜泉县| 紫云| 清新县| 阳信县| 繁峙县| 台北市| 大英县| 灯塔市| 江孜县| 依兰县| 马山县| 渭源县| 德惠市| 商城县| 亚东县|