使用共享主机发送电子邮件

Sending an email using a Shared hosting

我正在使用 Laravel 7,我想使用共享主机默认邮件服务发送电子邮件。

这是我的 .env 文件电子邮件配置

MAIL_DRIVER=smtp
MAIL_HOST=hostname
MAIL_PORT=465
MAIL_USERNAME=support@sitename.com
MAIL_PASSWORD=password
MAIL_ENCRYPTION=ssl

这是我在 config/mail 中的默认邮件。php

'default' => env('MAIL_MAILER', 'smtp'),
'mailers' => [
    'smtp' => [
        'transport' => 'smtp',
        'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
        'port' => env('MAIL_PORT', 587),
        'encryption' => env('MAIL_ENCRYPTION', 'ssl'),
        'username' => env('MAIL_USERNAME'),
        'password' => env('MAIL_PASSWORD'),
    ],
    'ses' => [
        'transport' => 'ses',
    ],
    'sendmail' => [
        'transport' => 'sendmail',
        'path' => '/usr/sbin/sendmail -bs',
    ],
    'log' => [
        'transport' => 'log',
        'channel' => env('MAIL_LOG_CHANNEL'),
    ],
    'array' => [
        'transport' => 'array',
    ],
],

但是没有向用户发送电子邮件,也没有显示任何错误。

我可能做错了什么?

您可以通过 Swift_TransportException 捕获错误,如下所示:

try {
    Mail::send('emails.reminder', function ($m) {
      $m->from('hello@app.com', 'Your Application');
      $m->to('user@gmail.com', 'Sender Name')->subject('Your Reminder!');
    });
}catch(\Swift_TransportException $e){
        $response = $e->getMessage(); // catch the error here
}