在我的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