【问题标题】:How to get the message body from PHPMailer?如何从 PHPMailer 获取邮件正文?
【发布时间】:2011-08-23 08:33:49
【问题描述】:

我使用 PHPMailer 通过 SMTP 发送电子邮件。它可以工作,但它不会将发送的电子邮件保存在

sent items。我想在sent items 发送电子邮件,有什么想法吗?

我知道可以使用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 获取邮件正文?

【问题讨论】:

  • 首先 PHPMailer 与您想要实现的 IMAP 操作没有任何关系,所以我认为您可能需要考虑更改这篇文章的标题。其次,我真的不明白确切的问题是什么。您在从 PHPMailer 获取邮件正文时遇到问题,或者您要执行的实际 IMAP 操作有问题吗?
  • 是的,我想知道如何从 PHPMailer 获取邮件正文

标签: php smtp phpmailer


【解决方案1】:

PHPMailer 的实例变量都是公开的。 查看您可以使用的源代码:

$mail->Body

如果您想要包含所有边界的普通正文,您也可以使用:

$mail->CreateBody();

见: http://phpmailer.svn.sourceforge.net/viewvc/phpmailer/trunk/phpmailer/class.phpmailer.php?revision=452&view=markup

【讨论】:

    【解决方案2】:

    PHPMailer 似乎没有返回 $message 的功能。

    是的,确实如此。至少在 5.2.28 版本中,有一个方法 getSentMIMEMessage() 可以获取完整的 MIME 消息(不同于 email 正文)。该方法仅在发送电子邮件或调用preSend() 方法后有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-28
      • 2019-01-03
      • 1970-01-01
      • 2021-02-14
      • 2011-04-15
      • 1970-01-01
      相关资源
      最近更新 更多