2

我使用 Windows 10、Laragon 和 Laravel 框架。

我通过调用设置默认身份验证php artisan make:auth

问题是当我尝试使用忘记密码组件时,“发送邮件”不起作用。单击 后Send Password Reset Link,什么也没发生。并且Password Reset Link不发送到Laragon的Mail Catcher

这是里面的配置.env

MAIL_DRIVER=sendmail
MAIL_SENDMAIL="C:\laragon\bin\sendmail\sendmail.exe -bs"

这是里面config/mail.php

'sendmail' => env('MAIL_SENDMAIL', '/usr/sbin/sendmail -bs'),
4

2 回答 2

1

首先,我使用从我的 Cpanel 托管电子邮件帐户获得的自定义用户名和密码来设置 laravel 邮件。它没有通过 sendmail 配置或 smtp 配置。

阅读我注意到 laravel 的文档确实扩展了 swift mailer 类。我就这样做了。

$user = User::find(1);
      $text = (new WelcomeEmail($user))->render();

        // Create the Transport
        $transport = (new \Swift_SmtpTransport(env('MAIL_HOST'), 25))
          ->setUsername(env('MAIL_USERNAME'))
          ->setPassword(env('MAIL_PASSWORD'))
        ;

        // Create the Mailer using your created Transport RFCValidation
        $mailer = new \Swift_Mailer($transport);

        // Create a message
        $message = (new \Swift_Message('Happy to Have You Onboard'))
          ->setFrom([env('MAIL_FROM_ADDRESS') => env('MAIL_FROM_NAME')])
          ->setTo(['miracle@yahoo.com'])
          ->setBody($text , 'text/html')
          ;
          $message->setReadReceiptTo(env('MAIL_FROM_ADDRESS'));



        // Send the message
        $result = $mailer->send($message);

现在

“新欢迎邮件”

是一个 Laravel 可邮寄的,它捆绑了邮件的视图。您可以从上面的代码中出色地创建自己的邮件类,以使您的代码小巧且可扩展。

于 2018-08-12T07:21:07.830 回答
0

我建议不要编辑 config/mail.php - 使用 .env 文件应该可以完成这项工作。

在文件 'config/mail.php' 中,您可以找到代码,默认情况下 sendmail 路径是如何构建的:

'sendmail' => [
    'transport' => 'sendmail',
    'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -t -i'),
],

可能在不同的 Laravel 版本的情况下,它也可能只是一个错字,所以尝试将名称 MAIL_SENDMAIL 更改为 MAIL_SENDMAIL_PATH。

但老实说,我也无法让 sendmail 与 Laragon 的可执行文件一起工作。如果有人成功了,请分享您的解决方案。

于 2022-02-21T17:24:49.437 回答