實現用php發送帶附件的郵件

來源:互聯網
上載者:User
我經常聽到這樣一個問題:“我有一個從網站發來的合約。我如何給
通過表單發送的電子郵件增加一個附件呢?”
  首先我要說的是要做到這個沒有什麼簡單的辦法。你要很好的理解PHP或其它的伺服器端的指令碼語言。當然你還要一個真正支援PHP的網站的帳號。如果滿足了這個前提,在你讀完了本章後就可以用PHP發送帶附件的電子郵件了。
1. 附件是如何工作的
  如果你曾經在PHP的手冊中搜尋過“附件”函數,那麼結果可能是什麼都沒有(至少在我寫本文的時間還沒有)。後來你就要花很多時間來瞭解這方面的知識。
  你也許會想當你給某個人發送一封帶附件的電子郵件時,附件是和郵件一起放到收件者的信箱裡的(比如,如果你給他/她發了一個PNG的圖片檔案,他/她的信箱裡會包含一個txt檔案(電子郵件)和一個.png檔案(附件)。但這不是它的工作原理。當你加入一個附件時,你的郵件程式把附件轉換成純文字檔案,並在你寫的內容(實際的電子郵件)後面插入這個文字區塊。這個,當你把所有的東西發出來後,收件者的信箱裡只有一個純文字檔案——一個同時包含附件和實際電子郵件內容的檔案。
  下面是一個帶附件(一個HTML檔案)電子郵件的例子。
Return-Path:
Date: Mon, 22 May 2000 19:17:29 +0000
From: Someone
To: Person
Message-id: <83729KI93LI9214@example.com>
Content-type: multipart/mixed; boundary="396d983d6b89a"
Subject: Here's the subject
--396d983d6b89a
Content-type: text/plain; charset=iso-8859-1
Content-transfer-encoding: 8bit
This is the body of the email.
--396d983d6b89a
Content-type: text/html; name=attachment.html
Content-disposition: inline; filename=attachment.html
Content-transfer-encoding: 8bit
This is the attached HTML file
--396d983d6b89a--
  前面的7行是郵件的頭,其中值得注意的是Content-type頭部分。這個頭告訴郵件程式電子郵件是由一個以上的部分組成的。不含附件的郵件只有一個部分:訊息本身。帶附件的電子通常至少由兩部分組成:訊息和附件。這樣,帶兩個附件的郵件由三部分組成:訊息,第一個附件和第二個附件。
  帶附件的電子郵件的不同部分之間用分界線來分隔。分界線在Content--type頭中定義。郵件的每個新部分以兩個連字號(--)和分界線開始。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.