是否可以将PHP PEAR SMTP对象保存为EML文件?

时间:2016-03-03 15:35:08

标签: php smtp pear

我正在使用SMTP选项构建一个通过PEAR Mail包发送的电子邮件;

require_once 'Mail.php';

$email  = Mail::factory('smtp', $this->connection);
$status = $email->send($content['To'], $final['headers'], $final['body']);

除了在邮件服务器上关闭它之外,有没有办法打包该对象并将其作为EML文件存储在文件系统中?

2 个答案:

答案 0 :(得分:0)

没有

不,没有办法打包该对象并将其作为EML文件存储在文件系统中。

答案 1 :(得分:0)

PEAR Mail软件包本身并不提供该功能...

但是,如果您使用PEAR Mail_mime程序包创建电子邮件(它会同时生成正文和标头供Mail::send()使用),那么它将提供一种saveMessage()方法来做到这一点:

https://pear.php.net/package/Mail_Mime/docs/latest/Mail_Mime/Mail_mime.html#methodsaveMessage

调用此方法时,您必须包含To:标头作为附加参数,否则它将不包含在保存的文件中。

我不确定Mail_mime是否总是生成MIME格式的多部分电子邮件,或者是否也可以生成常规的纯文本电子邮件(如果您已提供的全部内容),那么您可能需要检查那个。