在我的CRM在線系統我控制IMAP協議ingoing郵件。 現在我正在使用phpmailer和SMTP協議發送郵件。 一切都好,但我有一個奇怪的事情。如何使用phpmailer腳本郵件發送到「發送」IMAP文件夾?發送郵件與phpmailer不去「發送」IMAP文件夾
回答
現在有在PHPMailer的方法getSentMIMEMessage返回整個MIME字符串
$mail = new PHPMailer();
//code to handle phpmailer
$result = $mail->Send();
if ($result) {
$mail_string = $mail->getSentMIMEMessage();
imap_append($ImapStream, $folder, $mail_string, "\\Seen");
}
- 您需要通過IMAP主機
- 的IMAP主機需要支持的功能(這很少做)
如果任這兩點都沒有真正被中繼發送的郵件,簡短的回答是「你不能」。簡而言之,這取決於郵件提供商,而不是您的代碼。
就像我討厭M $一樣,Exchange是一個地方,他們確實有東西正確 - 如果您使用的是Exchange服務器,則所有這些都是爲您處理的。
嗯,這是相當困難的,但可以做到。
看看imap-append函數。
通過連接到IMAP流資源,您可以使用imap-append()將您的郵件附加到IMAP帳戶的已發送文件夾。
但是通過評論的閱讀會告訴你完成有點繁瑣,但肯定不是不可能的 - 你可能需要自己編寫代碼,因爲phpmailer不支持開箱即用(和將很可能會耗費太多的時間來實現,而不是自己做一些事情)。
哎,真的嗎?儘管如此,我認爲這是一個解決方案,所以我會給你一個這些美味的+1。 – DaveRandom 2011-12-19 13:16:48
感謝您的回覆 - 我會試試這個。 – piernik 2011-12-19 13:24:45
@DaveRandom我同意你的觀點,這不太好,但可以解決OP的問題;雖然我不明白需要... – Repox 2011-12-19 13:24:49
我發現更簡單的方法來做到這一點。 PHPmailer將電子郵件準備爲字符串 - 所有您需要做的就是將其放入正確的IMAP文件夾中。
我擴大的PHPMailer類代碼(因爲瓦爾保護我不能觸及的地方):
class PHPMailer_mine extends PHPMailer {
public function get_mail_string() {
return $this->MIMEHeader.$this->MIMEBody;
}}
PHP代碼:
$mail= new PHPMailer_mine();
//code to handle phpmailer
$result=$mail->Send();
if ($result) {
$mail_string=$mail->get_mail_string();
imap_append($ImapStream, $folder, $mail_string, "\\Seen");
}
它運作良好。
你可以給一個$ ImapStream和$文件夾的值的例子嗎?我無法弄清楚什麼應該是$文件夾的正確值,特別是當我沒有郵件服務器的文件級訪問權限(我正在使用Gmail)。 – Zeeshan 2014-06-29 11:11:58
- 1. 發送郵件與PHPMailer
- 2. 郵件發送與PHPMailer不起作用
- 3. PhpMailer能夠從Windows發送郵件,但不能發送郵件
- 4. 的PHPMailer不能發送與EC2發送電子郵件
- 5. PHPMailer發送郵件太早
- 6. PHPmailer發送垃圾郵件
- 7. PHPMailer無法發送郵件
- 8. 使用phpmailer發送郵件
- 9. 的PHPMailer發送空郵件
- 10. Phpmailer無法發送郵件
- 11. 通過imap發送郵件
- 12. PHPMailer的不發送電子郵件
- 13. 的PHPMailer不會發送郵件
- 14. PHPMailer不發送電子郵件
- 15. PHPmailer不發送郵件只在Firefox中
- 16. 缺少默認的「發送郵件」IMAP文件夾
- 17. Appengine發送郵件 - 不發送郵件
- 18. php imap發送後保存按摩到發送文件夾
- 19. 通過phpmailer發送郵件附件
- 20. 保存使用javax郵件發送郵件發送郵件文件夾
- 21. 附件不會與phpmailer一起發送
- 22. 在發送郵件時發送郵件時發送郵件
- 23. 如何「發送」電子郵件到發送文件夾
- 24. PHP發送電子郵件與文件附件 - 電子郵件不發送
- 25. PHPMailer用數組發送郵件($ _POST ['email'])
- 26. Phpmailer發送郵件沒有SMTP認證
- 27. 用phpmailer發送異步郵件
- 28. 通過PHPMailer發送郵件很慢
- 29. 使用CKEditor和PHPMailer發送HTML郵件
- 30. 無法使用phpmailer發送郵件
沒錯。自2012年7月13日起。請參閱此更改日誌:https://github.com/PHPMailer/PHPMailer/blob/master/changelog.md#version-522-beta1-july-13-2012 還需要檢查http:// php.net/manual/en/function.imap-append.php瞭解函數imap_append()和$ folder參數, 和http://php.net/manual/en/function.imap-open.php瞭解如何獲得$ ImapStream。 – Cosmitar 2015-12-10 06:59:11