Php laravel mail attach()方法返回有关null参数的错误

Php laravel mail attach()方法返回有关null参数的错误,php,laravel,email,amazon-ses,laravel-mail,Php,Laravel,Email,Amazon Ses,Laravel Mail,您好,我正在laravel中创建一个邮件服务,它支持附件上传,当用户向我发送文件时,我将其存储在AmazonS3驱动程序中,以便进一步附件。 这是我的邮件类,我发送邮件对象以及电子邮件和附件的副本 <?php namespace App\Mail; use Illuminate\Bus\Queueable; use Illuminate\Mail\Mailable; use Illuminate\Queue\SerializesModels; use Illuminate\Su

您好,我正在laravel中创建一个邮件服务,它支持附件上传,当用户向我发送文件时,我将其存储在AmazonS3驱动程序中,以便进一步附件。 这是我的邮件类,我发送邮件对象以及电子邮件和附件的副本

<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
    use Illuminate\Support\Facades\Storage;
    use Illuminate\Contracts\Queue\ShouldQueue;

   class Mail extends Mailable
   {
    use Queueable, SerializesModels;

    public $email;
    public $attachments;
    public $copies;

    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct($email, $copies = [], $attachments = [])
    {
        $this->email = $email;
        $this->copies = $copies;
        $this->attachments = $attachments;
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        $m = $this->from($this->email->sender->email, $this->email->sender->name)
            ->replyTo($this->email->sender->email, $this->email->sender->name)
            ->subject($this->email->subject);

        foreach ($this->copies as $copy) {
            if ($copy->type == 'CC') {
                $m->cc($copy->destiny->email);
            } else {
                $m->bcc($copy->destiny->email);
            }
        }

        if (!empty($this->attachments)) {
            foreach ($this->attachments as $attachment) {
                $attachmentParameters = [
                    "as" => $attachment->name,
                    "mime" => $attachment->mime
                ];

                $m->attach(Storage::disk('s3Attachments')->url($attachment->path), $attachmentParameters);
            }
        }

        return $m->view('emails.text-plain');
    }
}
我尝试使用attach(),但只有一个参数:

$m->attach(Storage::disk('s3Attachments')->url($attachment->path));
但同样的错误是,我将Laravel 5.5与Amazon SES驱动程序一起使用,并且已经确认我在package.json中安装了以下依赖项:

composer require guzzlehttp/guzzle
"aws/aws-sdk-php": "~3.0"
我已经在网上搜索了,没有找到解决方案,我需要帮助


问候。

我刚刚遇到了完全相同的问题。 问题是您重写了$attachments属性


为这个变量使用另一个名称,它就会工作

我刚刚遇到了完全相同的问题。 问题是您重写了$attachments属性

为这个变量使用另一个名称,它就会工作

composer require guzzlehttp/guzzle
"aws/aws-sdk-php": "~3.0"