Laravel 9 无法连接 STARTTLS 错误代码 1 但另一个 laravel 9 应用程序可以工作?

问题描述 投票:0回答:2

我有这个休假捕获应用程序需要发送电子邮件,它使用 ldap 来验证登录并获取用户数据。

添加电子邮件类、控制器、视图、路由等后,我得到...无法使用 STARTTLS 连接:代码 1 错误,iv'e 尝试了以下操作但没有成功...

尝试过没有成功

即使尝试过较旧的 Laravel 也没有成功

这也没有成功

我也尝试过其他邮件提供商但没有成功。

非常奇怪的是,我创建了一个具有相同设置的“空”新 Laravel 9 应用程序,并且我在发送邮件时没有任何问题,并且设置实际上是相同的,只是没有为休假捕获构建的所有内容。

我的设置如下...

.env

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=xxxxxxxxx
MAIL_PASSWORD=xxxxxxxxx
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="[email protected]"
MAIL_FROM_NAME="${APP_NAME}"

控制器

<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Mail;
use App\Mail\SendMail;
use Illuminate\Support\Facades\Log;

class EmailController extends Controller
{
    public function index()
    {
        Log::info('mail ');
        $testMailData = [
            'title' => 'Test Email From AllPHPTricks.com',
            'body' => 'This is the body of test email.'
        ];

        Mail::to('[email protected]')->send(new SendMail($testMailData));

        dd('Success! Email has been sent successfully.');
    }
}

路线

Route::get('email', [EmailController::class, 'index']);

sendmail.php

<?php

namespace App\Mail;

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

class SendMail extends Mailable
{
    use Queueable, SerializesModels;

    public $testMailData;

    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct($testMailData)
    {
        $this->testMailData = $testMailData;
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        return $this->subject('Email From AllPHPTricks.com')
                    ->view('emails.testMail');
    }
}

我的看法

<!DOCTYPE html>
<html>
<head>
    <title>AllPHPTricks.com</title>
</head>
<body>
    <h1>{{ $testMailData['title'] }}</h1>
    <p>{{ $testMailData['body'] }}</p>
</body>
</html>
php laravel email smtp
2个回答
0
投票

尝试在

'auth_mode' => null
中注释掉这一行
config/mail.php


0
投票

您可以尝试将 MAIL_MAILER=smtp 更改为 sendmail 看看是否可以解决问题

© www.soinside.com 2019 - 2024. All rights reserved.