在 CentOS 系统上使用 Laravel 发送邮件失败,可能是由于多种原因导致的。以下是一些建议和解决方案:
.env
文件中的邮件配置正确。例如:MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=your_username
MAIL_PASSWORD=your_password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=your_email@example.com
MAIL_FROM_NAME="${APP_NAME}"
请根据您的邮件服务提供商提供的信息替换相应的值。
.env
文件中,设置以下值:QUEUE_CONNECTION=database
然后运行以下命令创建队列表:
php artisan queue:table
php artisan migrate
接下来,启动队列监听器:
php artisan queue:work
sudo firewall-cmd --permanent --zone=public --add-port=25/tcp
sudo firewall-cmd --permanent --zone=public --add-port=465/tcp
sudo firewall-cmd --permanent --zone=public --add-port=587/tcp
sudo firewall-cmd --reload
sestatus
如果 SELinux 是 “enforcing” 模式,您可以尝试将其临时设置为 “permissive” 模式以测试是否是 SELinux 导致的问题:
sudo setenforce 0
如果这解决了问题,您可以考虑调整 SELinux 策略以允许 Laravel 发送邮件,或者将其保持为 “permissive” 模式。
storage/logs
目录下),以获取有关邮件发送失败的详细信息。这可以帮助您诊断问题并找到解决方案。希望这些建议能帮助您解决在 CentOS 上使用 Laravel 发送邮件失败的问题。如果问题仍然存在,请提供更多详细信息,以便我们能够更好地帮助您。