正如标题所说,我正在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;上,但这就是教程中使用的内容.

推荐答案

我想我明白了.

我试图在. dev和app\config\mail.php中添加MAIL_TO_ADDRESS="to@example.com".

在我的mail.php中,我只添加了

    'to' => [
        'address' => env('MAIL_TO_ADDRESS', 'hello@example.com'),
    ],

我猜laravel只接受"to:address"和"to:Name"作为一对,或者根本不接受.所以我把它改成

    'to' => [
        'address' => env('MAIL_TO_ADDRESS', 'hello@example.com'),
        'name' => env('MAIL_TO_NAME', 'Example'),
    ],

Php相关问答推荐

PHP 8.3类型类常数-关闭

如何使用PHP停止foreach循环中的重复项?

Laravel中的通配符Undot数组

PHP Perl正则表达式—URL前面没有等号和可能的单引号或双引号

模型中的Laravel自定义查询字段

Msgraph-sdk-php v2如何从返回对象中获取数据?

如何使用php-amqplib连接到ActiveMQ Classic Docker镜像

函数存储到变量中

Shopware 6 插件:如何删除布尔配置并将其迁移到多选配置

启用 WooCommerce 我的帐户付款方式,允许客户添加付款方式

使用 secure 和 httponly 选项删除 php 中的 cookie 值得吗?

如何在 Woocommerce 中自动删除旧的已完成订单

获取 Shopware 6 集合元素的值,PHP

正则表达式将文本替换为标签 html 以字符开头

加载 Xdebug PHP 7.4.0 失败

WooCommerce订单支付页面上的附加支付订单按钮

如何从此字符串创建 Carbon 对象:2022-06-21T05:52:46.648533678Z?

Laravel Docker 几个数据库

将样式文件或脚本引入WordPress模板

WooCommerce 按 ID 限制产品