php - Laravel 电子邮件验证流程
问题描述
我正在尝试在我们的实时服务器上使用 Laravel 7.x 设置电子邮件验证,并遇到一些连接问题。因此,我可以按照以下几行运行简单的 Swift 代码:
try {
// Create the SMTP transport
$transport = (new Swift_SmtpTransport('my-mail-relay.something.ca'));
$mailer = new Swift_Mailer($transport);
// Create a message
$message = new Swift_Message();
$message->setSubject('Test!');
$message->setFrom(['my@email.com' => 'tom']);
$message->addTo('test@email.com', 'test');
// Set the plain-text part
$message->setBody('Test.');
// Set the HTML part
$message->addPart('Test<br>TEST.', 'text/html');
// Send the message
$result = $mailer->send($message);
} catch (Exception $e) {
echo $e->getMessage();
}
这导致电子邮件通过 smtp 服务器等正确发送。但是,当我在 .env 和 config/mail.php 中设置所有相同的参数时,我总是超时,我尝试在 laravel 的邮件服务内部消除对端口的需求但是(也许很明显)以这种方式收到其他错误。
同时,我在我们的服务器上设置了 sendmail 并尝试在 /etc/mail/sendmail.mc 中设置 smtp 服务器,现在它发送电子邮件但它们总是以垃圾邮件告终,而当通过使用上述代码的 smtp 服务器可以正常工作。
.env,并不是说有很多东西要展示:
MAIL_MAILER=smtp
#MAIL_MAILER=sendmail
MAIL_HOST= *******************
# MAIL_USERNAME= ************
# MAIL_PASSWORD= ******************
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=************
MAIL_FROM_NAME=*************
邮件.php:
'mailers' => [
'smtp' => [
'transport' => 'smtp',
'host' => env('MAIL_HOST', '**********'),
'port' => env('MAIL_PORT', 587),
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'timeout' => null,
'auth_mode' => null,
],
... etc
'sendmail' => [
'transport' => 'sendmail',
'path' => '/usr/sbin/sendmail -bs',
'host' => env('MAIL_HOST', '***********'),
'port' => env('MAIL_PORT', 587),
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
],
],
任何人都有任何正确设置的经验可以为我指明正确的方向吗?
谢谢,汤姆
解决方案
推荐阅读
- react-native - React Native 中的撤回/删除推送通知
- javascript - 在html中打开仪表板主页时如何显示空视图?
- node.js - 在任何 npm install 命令之后挂钩(特别是安装后)
- javascript - Vuex 操作中非常奇怪的 console.log 行为
- c# - 如何获取 C# 方法调用中执行的行数?
- scala - Simulacrum:找不到宏实现
- dart - 如何在 Dart 中导入本地创建的包?
- orientdb - OrientDB:如何在 orientdb 中按节点过滤 Edge
- angular - “错误:没有 Sugerir 的提供者!” 在 ionic 3 打字稿/角度应用程序中
- javascript - 在输入文本中使用粘贴时数据过滤器不起作用