无法在laravel 5.2中附加带有电子邮件的文件

时间:2016-10-01 09:56:31

标签: laravel email

我正在尝试使用电子邮件附加图片。我尝试了很多方法。但我失败了。没有附带电子邮件的文件。我也试过嵌入图像,但也没用。请帮我找出问题。

Mail::send('emails.freetrial', $data, function($message) use ($data){
        $img =  Freetrialsimage::where('freetrials_id', '=', $data['id']);
        $message->from('hello123@gmail.com');
        $message->to('text123@gmail.com');
        $message->subject('Free Trial');
        foreach ($img as $attach)
      {
          $message->attachData($img->file_path, $img->file_name);;
      }
    });

1 个答案:

答案 0 :(得分:2)

如果要按路径附加文件 - 使用attach()方法,如果您有文件的原始内容(二进制图像数据) - 则使用attachData()。在您的示例中,attach()看起来更合适。

来自文档

  

将文件附加到邮件时,您还可以通过将数组作为第二个参数传递给attach方法来指定显示名称和/或MIME类型:

     

$message->attach($pathToFile, ['as' => $display, 'mime' => $mime]);

关于attachData()方法

  

attachData方法可用于附加原始字符串作为附件。例如,如果您在内存中生成了PDF并希望将其附加到电子邮件而不将其写入磁盘,则可以使用此方法:

     

$message->attachData($pdf, 'invoice.pdf');