PHPmailer:将会话变量附加到电子邮件

时间:2014-12-13 23:26:44

标签: email pdf session-variables phpmailer email-attachments

由于我必须使用uniqid()函数在我的服务器上创建PDF,因此我必须在其余的代码中将其称为PHP变量。

我为它创建的变量是一个会话变量。我稍后在一个单独的文件中引用此会话变量,该文件包含我的PHPmailer代码。我使用以下行将会话变量附加到邮件:

$mail->AddStringAttachment($_SESSION[$attachment], "attachment.pdf");

邮件正确发送,附带PDF,名为attachment.pdf。但是,此附加文件attachment.pdf为空。尽管会话变量引用的服务器上的PDF包含完整的数据集。如果我附加PDF的名称,而不是会话变量,它可以正常工作。

我不知道为什么在附加PDF时使用会话变量会导致发送空文件。如果有人能够解释为什么会这样,或者提出替代解决方案,我将不胜感激!

1 个答案:

答案 0 :(得分:0)

我猜测$_SESSION[$attachment]包含您生成的PDF文件的名称,因此您在此处所做的是将文件的名称附加为附件,而不是文件本身。您可能应该使用它:

$mail->AddAttachment($_SESSION[$attachment], "attachment.pdf");