对于一个laravel项目,我想看看如何验证电子邮件,电子邮件的外观。我确实运行了php artisan vendor:publish --tag=laravel-mail,在我发现的文档中:
有时,您可能希望不发送邮件就捕获邮件的HTML内容。要实现这一点,您可以调用mailable的呈现方法。此方法将以字符串的形式返回可邮件的计算内容:
$invoice = App\Invoice::find(1);return (new App\Mail\InvoicePaid($invoice))->render();
对于确认电子邮件,电子邮件,可以这样做吗?我在我的项目中很难收到邮件,但没有收到任何结果。有没有另一种不发送电子邮件来查看电子邮件的方法?
发布于 2020-07-18 19:19:44
选项1-浏览器中的预览
添加一条新的路由,最好是在设置的测试中,如下所示:
Route::get( '/verify-test', function () {
// Get a user for demo purposes
$user = App\User::find(1);
return (new Illuminate\Auth\Notifications\VerifyEmail())->toMail($user);
}在我用laravel 7的测试中,这已经足够了。我不需要发布任何通知。它在浏览器中呈现得很好!当然,如果您也想更改通知的内容,那么最好这样做:
php artisan vendor:publish --tag=laravel-notifications通知的内容在文件resources/views/vendor/notifications中。
选项2-捕获邮件
您可以做的是将mailtrap.io帐户设置为smtp服务器并查看那里的邮件,或者使用文档中描述的“通用To”。
// config/mail.php
'to' => [
'address' => 'example@example.com',
'name' => 'Example'
],发布于 2020-07-18 20:08:27
老实说?是的,你可以增加路线,并使他们只能在本地访问,但为什么麻烦。
Laravel已经构建了一个名为Laravel望远镜的工具。只需使用composer安装,只为开发添加--dev并完成它。将您的邮件驱动程序设置为log并进行检查,而不需要使用路径或其他方式进行黑客攻击。
如果您希望在不需要注册的情况下测试邮件,请创建一个工厂来生成和模拟电子邮件,并使用修补工或更好的丁克韦尔来加速您的开发过程。
https://stackoverflow.com/questions/62972555
复制相似问题