我試圖從PHP生成EML文件。是否有任何圖書館可以讓我輕鬆創建它們?我可以在互聯網上找到一些ActiveX組件,但寧可使用更便攜的東西。PHP庫來生成EML電子郵件文件?
回答
我結束了使用這種模板,其中,每個字段由TEMPLATE_<name>
變量替換構建MIME消息自己:
From: TEMPLATE_FROM_ADDRESS
MIME-Version: 1.0
To: TEMPLATE_TO_ADDRESS
Subject: TEMPLATE_SUBJECT
Content-Type: multipart/mixed; boundary="080107000800000609090108"
This is a message with multiple parts in MIME format.
--080107000800000609090108
Content-Type: text/plain
TEMPLATE_BODY
--080107000800000609090108
Content-Type: application/octet-stream;name="TEMPLATE_ATTACH_FILENAME"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;filename="TEMPLATE_ATTACH_FILENAME"
TEMPLATE_ATTACH_CONTENT
--080107000800000609090108
然後創建最終的消息是很簡單使用str_replace
:
$content = file_get_contents("Template.eml");
$content = str_replace("TEMPLATE_FROM_ADDRESS", $fromEmail, $content);
$content = str_replace("TEMPLATE_TO_ADDRESS", $toEmail, $content);
// etc. for each template parameter
// Also don't forget to base64_encode the attachment content;
$content = str_replace("TEMPLATE_ATTACH_CONTENT", base64_encode($attachContent), $content);
關於這個職位的文件附件附加信息:Attachment name and file extension not working in email *.eml
我認爲你不需要一個庫。這只是純文本(例如http://bitdaddys.com/example1.eml)
Date: Sat, 12 Aug 2006 14:25:25 -0400
From: John Doe <[email protected]>
Subject: BitDaddys Software
To: [email protected]
Dear BitDaddys Corp.,
We have added your software to our approved list.
Thank you for your efforts.
Sincerely,
John Doe
Some Server Company
你可以用頭只輸出文本,並保存它使用的fwrite。對於附件使用base64_encode()
作爲陳述here
重要的是它應該遵循SMTP語義 - 即每個頭部末尾的CRLF和頭部和主體之間的空行(由CRLF終止)。身體應該被傳輸編碼爲7bit ascii(或引用可打印)。 – symcbean 2012-01-08 13:02:17
使用空白$ part_number的imap_savebody(imap庫的一部分http://us1.php.net/manual/en/function.imap-savebody.php)。它用一行代碼和整個消息創建一個美麗的.eml文件(null $ part_number =所有部分...沒有記錄但可行)。
另外兩個解決方案取決於電子郵件的格式(第一個解決方案中只有一個附件,沒有html部分,第二個解決方案只有文本電子郵件)。
imap_savebody創建一個完美的.eml文件,不管輸入電子郵件的格式如何(只要它是RFC投訴)。
'section number'表示'$ part_number'參數 – redexp 2017-01-30 15:10:38
- 1. 正確的PHP方式來解析EML格式的電子郵件附件
- 2. 生成HTML電子郵件正文
- 3. PHP電子郵件生成文件錯誤
- 4. 將eml文件導入ms-exchange電子郵件服務器
- 5. Python:修改eml文件中的值(電子郵件標題)
- 6. `eml`文件和RFC822電子郵件有什麼區別?
- 7. .eml文件常見電子郵件保存格式
- 8. 電子郵件TCPDF生成的PDF文件與PHP郵件功能
- 9. 生成電子郵件驗證鏈接
- 10. Zend Framework電子郵件內容生成
- 11. 生成測試電子郵件ID
- 12. 生成的電子郵件,不發送
- 13. PHP電子郵件附件
- 14. 由Java WebLogic Application Server生成的電子郵件日誌文件
- 15. 當文件生成時自動發送電子郵件
- 16. php新手:電子郵件庫
- 17. 電子郵件發送至笨電子郵件庫中的iCloud電子郵件帳戶不來
- 18. 我怎樣才能提取電子郵件地址從一個Excel文件從eml文件使用php
- 19. 支持所有郵件服務的HTML電子郵件生成
- 20. ColdFusion郵件:自動生成的電子郵件?
- 21. 所有AppEngine生成的電子郵件都會生成垃圾郵件
- 22. PHP電子郵件垃圾郵件
- 23. PHP郵件不發送電子郵件
- 24. 用PHP郵件發送電子郵件()
- 25. 來自網站的電子郵件不生成html?
- 26. 如何使用php curl發送來自yahoo電子郵件的電子郵件
- 27. 電子郵件生產
- 28. 如何讀取從.eml文件的多個電子郵件使用JavaMail
- 29. 如何通過API將MSG/EML電子郵件文件導入到Outlook中?
- 30. 用Java生成電子郵件的乾淨技術或庫
你想從頭開始創建它,還是在用imap函數閱讀電子郵件之後創建它?也許imap_savebody()可以幫助 - http://www.csschat.com/archive/index.php/t-3287.html? – BartekR 2012-01-08 09:34:47
是的,我需要從頭開始創建它。我基本上有一個電子郵件,標題,正文和附件,並需要爲此創建EML。 – 2012-01-08 09:41:21