如何创建swiftmailer消息并将其附加到另一条消息

时间:2017-12-05 08:25:17

标签: php symfony email swiftmailer

我们在我们的一个函数中使用SwiftMailer来发送电子邮件。 最后,会向部门经理发送一份总报告,以便跟踪并了解功能使用情况。

管理员现在也愿意收到发送的电子邮件的副本,我们可以通过添加一个电子邮件副本作为电子邮件报告的附件来实现此目的。

我们如何创建swiftmailer消息而不发送消息,只使用它作为新swiftmailer电子邮件的附件。

1 个答案:

答案 0 :(得分:1)

您可以将Swift_Message添加为附件,如下所示:

$attachment = new \Swift_Attachment($messageAttachment, 'some-email.txt', 'text/plain');

但是,您的电子邮件现在将作为.txt文件附加,其中包含所有邮件详细信息。我不确定这是否是预期的行为!?

完整示例:

$messageAttachment = (new \Swift_Message('Attached Email'))
    ->setFrom('yourmail@gmail.com')->setTo('yourmail@gmail.com')
    ->setBody("Attached Email Body", 'text/plain');
$attachment = new \Swift_Attachment($messageAttachment, 'some-email.txt', 'text/plain');

$message = (new \Swift_Message('Real Email'))
    ->setFrom('yourmail@gmail.com')->setTo('yourmail@gmail.com')
    ->setBody("Real Email Body", 'text/plain')
    ->attach($attachment);
$mailer->send($message);

附件some-email.txt的内容如下所示:

Message-ID: <568d128d97e530d1389cb83b154d64eb@swift.generated>
Date: Tue, 05 Dec 2017 17:00:05 +0100
Subject: Attached Email
From: yourmail@gmail.com
To: yourmail@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Attached Email Body