正如标题所说,我正在try 发送邮箱,但它不断出现这个错误.
ContactController.php
<?php
namespace App\Http\Controllers;
use App\Http\Requests\ContactFormRequest;
use App\Mail\ContactMail;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Mail;
class ContactController extends Controller
{
/**
* Display the user's profile form.
*/
public function contact(ContactFormRequest $request): \Illuminate\Http\RedirectResponse
{
$mailData = $request->validated();
\Log::info(config('mail.to.address'));
\Log::info($mailData);
Mail::to(config('mail.to.address'))->send(new ContactMail($mailData)); // error points to here.
return redirect()->back();
}
}
ContactMail.php
class ContactMail extends Mailable
{
use Queueable, SerializesModels;
public $mailData = [];
/**
* Create a new message instance.
*/
public function __construct($mailData)
{
\Log::info("did construct");
$this->mailData = $mailData;
}
}
日志(log)
[2024-04-25 02:38:59] local.INFO: to@example.com
[2024-04-25 02:38:59] local.INFO: array (
'contact-name' => 'name',
'contact-name-furigana' => 'ネイム',
'contact-email' => 'name@name.com',
'contact-phone' => '1234',
'contact-contents' => 'contents',
'contact-privacy' => 1,
)
误差
Undefined array key "name" {"exception":"[object] (误差Exception(code: 0): Undefined array key \"name\" at /var/www/vendor/laravel/framework/src/Illuminate/Mail/MailManager.php:479)
甚至没有达到ContactMail
级.
首先,我以为问题出在导入use Illuminate\Support\Facades\Mail;
上,但这就是教程中使用的内容.