• <sup id="mwa8g"></sup>
  • <li id="mwa8g"><optgroup id="mwa8g"></optgroup></li>
    <strike id="mwa8g"></strike>
    <ul id="mwa8g"><pre id="mwa8g"></pre></ul>
  • 咨詢熱線

    400-066-2020
    常見問題
    如何通過 SMTP 方式發送帶附件的郵件?
    日期:2019年12月30日

    阿里云郵箱企業版通過 SMTP 的方式發送帶附件的郵件的方法就是:構建一封 MIME 格式的郵件內容。

    MIME 基礎知識

    • MIME 表示多用途 Internet 郵件擴允協議。MIME 擴允了基本的面向文本的 Internet 郵件系統,以便可以在消息中包含二進制附件。

    • MIME 信息由正常的 Internet 文本郵件組成,文本郵件擁有符合 RFC 2822/5322 的信息頭和格式化過的信息體。

    • MIME 協議的 RFC 地址:https://www.ietf.org/rfc/rfc2045.txt 。

    MIME 信息剖析

    一封普通的文本郵件的信息包含一個頭部分(例如:From、To、Subject 等等)和一個體部分。體部分通常為單體類型(例如:text、image、audio、video、application 等等)或是復合類型(即:multipart)。頭部分和體部分之間用一個空行進行分隔,并且體部分的類型由信頭內容類型字段 Content-Type 描述。

    • 信頭含義 (Headers)
    域名 含義
    Received 傳輸路徑
    Return-Path 回復地址
    Delivered-To 發送地址
    Reply-To 回復地址
    From 發件人地址
    To 收件人地址
    Cc 抄送地址
    Bcc 暗送地址
    Date 日期和時間
    Subject 主題
    Message-ID 消息 ID
    MIME-Version MIME 版本
    Content-Type 內容的類型
    Content-Transfer-Encoding 內容的傳輸編碼方式
    • 內容類型(Content-Type),表現形式為:Content-Type: [type]/[subtype]。

      其中 type 的形式為:text:用于標準化地表示的文本信息,文本消息可以是多種字符集和或者多種格式的。
      Image:用于傳輸靜態圖片數據。
      Audio:用于傳輸音頻或者音聲數據。
      Video:用于傳輸動態影像數據,可以是與音頻編輯在一起的視頻數據格式。
      Application:用于傳輸應用程序數據或者二進制數據。
      Message:用于包裝一個 E-mail 消息。
      Multipart:用于連接消息體的多個部分構成一個消息,這些部分可以是不同類型的數據。其中 subtype 用于指定 type 的詳細形式,常用的 subtype 如下所示:text/plain(純文本)
      text/html(HTML 文檔)
      application/xhtml+xml(XHTML 文檔)
      image/gif(GIF 圖像)
      image/jpeg(JPEG 圖像)
      image/png(PNG 圖像)
      video/mpeg(MPEG 動畫)
      application/octet-stream(任意的二進制數據)
      message/rfc822(RFC 822 形式)
      multipart/alternative(HTML 郵件的 HTML 形式和純文本形式,相同內容使用不同形式表示。)
    • 內容傳輸編碼(Content-Transfer-Encoding),指定內容區域使用的字符編碼方式。通常為:7bit,8bit,binary,quoted-printable,base64。

    MIME 的信體部分

    • 郵件中常見的簡單類型有 text/plain(純文本)和 text/html(超文本)。

    • 復雜的郵件內容格式采用 multipart 類型,可以包括純文本/超文本、內嵌資源(圖片)、附件類型等等。

      multipart 類型的郵件體被分為多個段,每個段又包含段頭和段體兩部分,這兩部分之間也以空行分隔。

      段頭含義:
    域名 含義
    Content-Type 段體的類型
    Content-Transfer-Encoding 段體的傳輸編碼方式
    Content-Disposition 段體的安排方式
    Content-ID 段體的 ID
    Content-Location 段體的位置(路徑)
    Content-Base 段體的基位置

    常見的 multipart 類型有三種:multipart/mixed, multipart/related 和 multipart/alternative。

    復合類型層次關系示例圖:

    SMTP示例圖

    multipart 諸類型的共同特征是,在段頭指定 boundary 參數字符串,段體內的每個子段以此字符串定界。所有的子段都以 —boundary 行開始,父段則以 —boundary— 行結束。段與段之間也以空行分隔。

    注意:

    附件郵件總大小不超過15M,一次最多不超過100個附件。

    代碼示例(python)

    	
    1. # -*- coding:utf-8 -*-
    2. import urllib, urllib2
    3. import smtplib
    4. from email.mime.multipart import MIMEMultipart
    5. from email.mime.text import MIMEText
    6. from email.mime.application import MIMEApplication
    7. # 發件人地址,通過控制臺創建的發件人地址
    8. username = 'xxx@xxx.com'
    9. # 發件人密碼,通過控制臺創建的發件人密碼
    10. password = 'XXXXXXXX'
    11. # 收件人地址列表,支持多個收件人,最多30個
    12. rcptlist = ['to1@to.com', 'to2@to.com']
    13. receivers = ','.join(rcptlist)
    14. # 構建 multipart 的郵件消息
    15. msg = MIMEMultipart('mixed')
    16. msg['Subject'] = 'Test Email'
    17. msg['From'] = username
    18. msg['To'] = receivers
    19. # 構建 multipart/alternative 的 text/plain 部分
    20. alternative = MIMEMultipart('alternative')
    21. textplain = MIMEText('純文本部分', _subtype='plain', _charset='UTF-8')
    22. alternative.attach(textplain)
    23. # 構建 multipart/alternative 的 text/html 部分
    24. texthtml = MIMEText('超文本部分', _subtype='html', _charset='UTF-8')
    25. alternative.attach(texthtml)
    26. # 將 alternative 加入 mixed 的內部
    27. msg.attach(alternative)
    28. # 附件類型
    29. # xlsx 類型的附件
    30. xlsxpart = MIMEApplication(open('測試文件1.xlsx', 'rb').read())
    31. xlsxpart.add_header('Content-Disposition', 'attachment', filename=Header("測試文件1.xlsx","utf-8").encode())
    32. msg.attach(xlsxpart)
    33. # jpg 類型的附件
    34. jpgpart = MIMEApplication(open
    ?
    聯系電話:020-38621006
    客服電話:400-066-2020
    產品咨詢:leads@aliyunsaas.com
    渠道合作:agent@aliyunsaas.com

    公眾賬號關注公眾賬號

    手機網站瀏覽手機網站

    關閉


    • 提交表單驗證碼
    溫馨提示:輸入正確驗證碼才能提交信息
    主站蜘蛛池模板: 久久久久久一区国产精品| 欧美乱妇高清无乱码免费| 扒开美妇白臀扒挺进在线视频| 国产成人无码网站| 三上悠亚日韩精品一区在线| 欧美俄罗斯乱妇| 午夜视频在线观看国产| 浮力影院亚洲国产第一页| 成人毛片免费在线观看| 免费一看一级毛片| 韩国三级hd中文字幕| 夜天干天干啦天干天天爽| 久久久久综合中文字幕| 欧美激情另类自拍| 国产一国产二国产三国产四国产五| 69pao强力打造免费高清| 成年女人免费视频播放体验区| 亚洲国产三级在线观看| 精品欧美高清不卡在线| 国产成人黄色小说| 99精品国产一区二区| 无码丰满熟妇一区二区 | 97国产在线视频| 成年美女黄网站色大片图片| 久久人妻少妇嫩草AV蜜桃| 欧美日韩不卡合集视频| 台湾佬中文娱乐11| 黑人操日本美女| 在线免费观看毛片网站| 中文字幕在线视频不卡| 欧美一区视频在线| 人妻va精品va欧美va| 色综合久久综合欧美综合网| 国产精品成人亚洲| www.精品国产| 无码精品久久久久久人妻中字 | 亚洲国产香蕉视频欧美| 精品久久久久久成人AV| 国产在线观看精品香蕉v区| 4444亚洲人成无码网在线观看 | 亚洲毛片在线看|