如何从PHPMailer获取邮件正文?
我使用 PHPMailer 通过 SMTP 发送电子邮件。它可以工作,但不会将已发送的电子邮件保存在
已发送邮件
中。我想在已发送邮件
中发送已发送的电子邮件,有什么办法吗?
我知道可以使用 imap_append 函数来实现它。但是,该怎么做呢?
PHPMailer 似乎没有返回 $message 的功能。
if ($return = $mail->Send()) {
$stream = imap_open("{{$host}:993/imap/ssl}Sent Items", $user_name, $user_pwd);
imap_append($stream, "{{$host}:993/imap/ssl}Sent Items" , $message , "\\Seen");
imap_close($stream);
};
如何从PHPMailer获取邮件正文?
I use PHPMailer to send email via SMTP. It works, but it doesn't save the sent emails in
sent items
. I want to make to sent emails in the sent items
, any idea?
I know can use imap_append
function to achieve it. But, how to do that?
The PHPMailer seems doesn't has the function to return the $message.
if ($return = $mail->Send()) {
$stream = imap_open("{{$host}:993/imap/ssl}Sent Items", $user_name, $user_pwd);
imap_append($stream, "{{$host}:993/imap/ssl}Sent Items" , $message , "\\Seen");
imap_close($stream);
};
How to get the message body from PHPMailer?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
PHPMailer 的实例变量都是公共的。
查看源代码,您可以使用:
如果您想要包含所有边界的普通主体,您也可以使用:
请参阅:
http://phpmailer.svn.sourceforge.net/viewvc/phpmailer/trunk/phpmailer/class.phpmailer.php?revision=452&view=markup
The instance variables from PHPMailer are all public.
Looking at the source you can just use:
If you want the plain body including the all boundaries you could also use:
See:
http://phpmailer.svn.sourceforge.net/viewvc/phpmailer/trunk/phpmailer/class.phpmailer.php?revision=452&view=markup
是的,确实如此。至少在 5.2.28 版本中,有一个方法
getSentMIMEMessage()
来获取完整的 MIME 消息(与电子邮件正文不同)。该方法仅在发送电子邮件或调用preSend()
方法后才有效。Yes, it does. At least in version 5.2.28 there is a method
getSentMIMEMessage()
to get the full MIME message (different from the email body). That method only works after sending the email, or calling thepreSend()
method.