Hello everyone,
I'm trying to send emails via Zoho SMTP using PHPMailer on my shared hosting environment. I've tried both port 465 (ssl) and 587 (tls), and I even added SMTPOptions to bypass SSL verification just in case it was an SSL certificate issue. However, the connection drops instantly.
Here is my current configuration:
$mail->isSMTP();
$mail->Host = 'smtppro.zoho.com';
$mail->SMTPAuth = true;
$mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
$mail->Username = '<myemail>';
$mail->Password = '<mypassword>'; // application password
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;
$mail->CharSet = 'UTF-8';
The debug output (SMTPDebug = 2) is very short, meaning it fails at the TCP level before any SMTP negotiation happens:
"SMTP ERROR: Failed to connect to server: Connection refused (111) SMTP Error: Could not connect to SMTP host. Failed to connect to server"
My hosting provider insists that outbound ports 465 and 587 are open. My questions are:
1. Could this be caused by SELinux blocking network connections for the web server (e.g., httpd_can_network_connect = 0)?
2. Is it possible that the server's IPv6 configuration is broken, and PHPMailer is trying to resolve Zoho via IPv6?
3. How can I definitively prove to the hosting provider whether this is an OS/Firewall issue on their end?
Thanks in advance for your insights!