php邮件程序SMTP错误:无法连接到SMTP主机

php邮件程序SMTP错误:无法连接到SMTP主机,php,smtp,phpmailer,smtpclient,Php,Smtp,Phpmailer,Smtpclient,我已经在Plesk主机上托管了我的网站,并正在提交联系表格。 使用composer安装了PHP邮件程序。 第一 我尝试使用Gmail SMPT服务器发送电子邮件 它工作得很好 第二 我尝试使用我的网络主机SMTP服务器发送电子邮件 这对我不起作用 $mail->Host = 'webmail.abc.in'; //host $mail->SMTPAuth = false; $mail->Username = '******@abc.in';

我已经在Plesk主机上托管了我的网站,并正在提交联系表格。 使用composer安装了PHP邮件程序。 第一 我尝试使用Gmail SMPT服务器发送电子邮件 它工作得很好 第二 我尝试使用我的网络主机SMTP服务器发送电子邮件 这对我不起作用

$mail->Host = 'webmail.abc.in';      //host
$mail->SMTPAuth = false;              
$mail->Username = '******@abc.in';    
$mail->Password = '*******';              
$mail->SMTPSecure = 'tls';
$mail->Port = 25;      
我使用测试工具测试了SMPT服务器。它可以使用相同的凭据发送电子邮件

我不知道问题出在哪里

除了phpmailer还有别的图书馆吗

$mail->SMTPAuth = true;
我想就这么简单

你说你已经在SMTPer上测试了证书

我确信您选中了“使用身份验证”复选框

也许您认为可以将其设置为false,因为您没有使用SSL


但这是关于用户身份验证,而不是关于加密通信。

这是我在gmail中使用的代码示例。通过网络托管SMTP对其进行了测试,效果良好

`           $mailMsg = ADD_MAIL_MESSAGE_HERE;
            $mailto = ADD_TO_ADDRESS_HERE;
            $mail = new PHPMailer\PHPMailer\PHPMailer();
            $mail->IsSmtp();
            $mail->SMTPDebug = 0;
            $mail->SMTPAuth = true;
            $mail->SMTPSecure = 'ssl';
            $mail->Host = 'smtp.gmail.com';
            $mail->Port = 465;
            $mail->IsHTML(true);
            $mail->CharSet = 'UTF-8';
            $mail->Username = ADD_USERNAME_HERE;
            $mail->Password = ADD_PASSWORD_HERE;
            $mail->SetFrom(ADD_FROM_ADDRESS_HERE);
            //-------------------------------------------
            $mail->Subject = ADD_MAIL_SUBJECT_HERE;
            $mail->Body = $mailMsg;
            $mail->AddAddress($mailto);
            $mail->SMTPOptions = array(
                'ssl' => array(
                    'verify_peer' => false,
                    'verify_peer_name' => false,
                    'allow_self_signed' => true
                )
            );
`

您是否与Plesk使用共享主机?如果是,那么这可能是一个端口阻塞问题(确切原因只有在邮件日志中才能找到)。查看您的代码,我可以看到,在您的本地SMTP测试中,您使用的是端口25,而在Gmail中使用的是465


默认情况下,大多数共享主机提供程序会阻止端口25上的传出SMTP连接。这样做是为了保护网络和基础设施免受垃圾邮件的攻击。如果是这种情况,那么您需要联系他们的支持人员以解除对端口的阻止或使用一些无端口的电子邮件发送模式。表示通过SMTP连接,而不是通过HTTP API连接以发送电子邮件。

设置
SMTPDebug=2
,这样您就可以看到服务器在说什么。我尝试了使用身份验证和不使用身份验证。在SMTPer中,当选中身份验证时,我想您不需要用户名和密码。@PramitSawant我明白了。您是否已检查SMTP错误消息或服务器的错误日志?你能分享一下吗?注意:当检查身份验证时,“必需”输入用户名和密码