Swift梅勒动态文本附件

时间:2014-01-21 13:02:06

标签: php email laravel laravel-4 swiftmailer

我正在尝试将字符串作为纯文本文件附加到swift邮件程序邮件中,如doc中所述:

$debug_data = 'Exception: ' . $e_message . PHP_EOL;
$debug_data .= $file . ': ' . $line . PHP_EOL;
$debug_data .= $trace;

$attach = Swift_Attachment::newInstance($debug_data, 'debug.txt', 'text/plain');

$message->attach($attach);

但这给了我这个错误:

Error in exception handler: fopen(Content-Type: text/plain; name=debug.txt Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=debug.txt 1ay9wdWJsaWMvaW5kZXgucGhwKDQ5KTog SWxsdW1pbmF0ZVxGb3VuZGF0aW9uXEFwcGxpY2F0aW9uLT5ydW4oKQojMTMge21haW59): failed to open stream: No such file or directory in /vendor/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/FileByteStream.php:138

任何想法?!

2 个答案:

答案 0 :(得分:1)

似乎你试图在Laravel中使用它,它有一个attachData方法,它不会调用fopen。您可以像下面的代码一样使用它

$message->attachData($debug_data, 'debug.txt');

答案 1 :(得分:0)

尝试这样的事情:

$attachment = Swift_Attachment::newInstance()
  ->setFilename('debug.txt')
  ->setContentType('text/plain')
  ->setBody($debug_data);