Laravel SMTP 设置无效,但相同的设置在 Perl 中有效
Laravel SMTP settings are not working but the same settings are working in Perl
我在 Laravel 中遇到 SMTP 设置问题。
这是我的 .env 文件中的邮件部分:
MAIL_DRIVER=smtp
MAIL_HOST=xxxxx.com
MAIL_PORT=25
MAIL_USERNAME=yyyyy.com
MAIL_PASSWORD=
MAIL_ENCRYPTION=tls
我遇到下一个错误:
Swift_TransportException
Connection could not be established with host xxxxx.com :stream_socket_client(): unable to connect to tcp://xxxxx.com:25 (Permission denied)
587和465端口我也试过了,结果一样。
但是具有相同身份验证数据的简单 Perl 脚本工作正常:
$To = 'example@xxx.com';
$Server = 'xxxxx.com';
$From = '"Do Not Reply" <donotreply@xxx.com>';
$ReplyTo = '"Do Not Reply" <donotreply@xxx.com>';
$Invitation = "test.txt";
$smtp = Net::SMTP->new($Server, Hello => 'yyyyy.com', Timeout => 30, Debug => 1,);
$smtp->mail($From);
$smtp->to($To);
$smtp->data();
$smtp->datasend("To: $To\n");
$smtp->datasend("From: $From\n");
$smtp->datasend("Reply-To: $ReplyTo\n");
open(INVITE, "<$Invitation") || die "Cannot open invitation: $!\n";
while(<INVITE>) {
$smtp->datasend($_);
}
$smtp->dataend();
close INVITE;
$smtp->quit;
我唯一的疑问是 Perl 脚本中的 Hello 选项和 .env 文件中的 MAIL_USERNAME 不是同一个选项。
也许我应该在我的 .env 文件中使用其他选项?
提前致谢!
尝试将 MAIL_PORT 更改为 587
问题不在 Laravel 设置或 Pearl Hello 选项中。它在某些服务器设置中。
我不得不运行
setsebool -P httpd_can_sendmail on
在服务器上,一切开始工作。
我仍然不知道为什么 Perl 脚本在没有该设置的情况下也能正常工作,但它并不那么重要。
我在 Laravel 中遇到 SMTP 设置问题。
这是我的 .env 文件中的邮件部分:
MAIL_DRIVER=smtp
MAIL_HOST=xxxxx.com
MAIL_PORT=25
MAIL_USERNAME=yyyyy.com
MAIL_PASSWORD=
MAIL_ENCRYPTION=tls
我遇到下一个错误:
Swift_TransportException
Connection could not be established with host xxxxx.com :stream_socket_client(): unable to connect to tcp://xxxxx.com:25 (Permission denied)
587和465端口我也试过了,结果一样。
但是具有相同身份验证数据的简单 Perl 脚本工作正常:
$To = 'example@xxx.com';
$Server = 'xxxxx.com';
$From = '"Do Not Reply" <donotreply@xxx.com>';
$ReplyTo = '"Do Not Reply" <donotreply@xxx.com>';
$Invitation = "test.txt";
$smtp = Net::SMTP->new($Server, Hello => 'yyyyy.com', Timeout => 30, Debug => 1,);
$smtp->mail($From);
$smtp->to($To);
$smtp->data();
$smtp->datasend("To: $To\n");
$smtp->datasend("From: $From\n");
$smtp->datasend("Reply-To: $ReplyTo\n");
open(INVITE, "<$Invitation") || die "Cannot open invitation: $!\n";
while(<INVITE>) {
$smtp->datasend($_);
}
$smtp->dataend();
close INVITE;
$smtp->quit;
我唯一的疑问是 Perl 脚本中的 Hello 选项和 .env 文件中的 MAIL_USERNAME 不是同一个选项。
也许我应该在我的 .env 文件中使用其他选项?
提前致谢!
尝试将 MAIL_PORT 更改为 587
问题不在 Laravel 设置或 Pearl Hello 选项中。它在某些服务器设置中。
我不得不运行
setsebool -P httpd_can_sendmail on
在服务器上,一切开始工作。
我仍然不知道为什么 Perl 脚本在没有该设置的情况下也能正常工作,但它并不那么重要。