简体   繁体   中英

SMTP ERROR: Failed to connect to server: Connection timed out (110) with PHPMailer and Outlook SMTP

I am getting SMTP Error with PHP Mailer and Outlook SMTP. I am confused here because it is working fine on localhost with Port number 25 but It is not working on Hosting Server, I have tried all ports with SSL & TLS.

Error : SMTP ERROR: Failed to connect to server: Connection timed out (110)



My Code:

<?php

include("PHPMailer.php"); 

error_reporting(E_ALL);
ini_set('display_errors', '1');

$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = "smtp.live.com";
$mail->SMTPDebug = 2;
$mail->Port = 587;
$mail->SMTPAuth = true;
$mail->SMTPSecure = "ssl";
$mail->Username = "info@neelcomputech.com";
$mail->Password = "password";
$mail->Priority    = 1;
$mail->CharSet     = 'UTF-8';
$mail->ContentType = 'text/html; charset=utf-8\r\n';

$mail->From = "info@neelcomputech.com";
$mail->FromName = $name;
$mail->AddAddress("info@neelcomputech.com");

$mail->IsHTML(true);

$mail->Subject = "You got Message from Website";
$mail->Body = "testing";

if(!$mail->Send())
{
    echo 'Mailer Error: ' . $mail->ErrorInfo;
}
else
{
    echo 'success';
}

?>


Please help me to solve this issue. I have Shared Linux Hosting.

I had a similar problem, and it turned out my host (Bluehost) blocked outgoing connections on port 465. I will post the solution here in the hope that helps you. But I'm not expert enough to know if it's the same problem or not.

I found a wonderful how-to which fixed it for me:

  1. In your cPanel DNS Zone editor, find the MX (Mail Exchanger) section, and select 'remote mail exchanger'.
  2. In the cPanel email accounts section, create the appropriate email address (don't skip this)
  3. Don't use "smtp.live.com" as your smtp host. Use the smtp host of your Shared Linux Hosting smtp. I don't know how you will get yours. Mine is boxXXXX.bluehost.com.
  4. Set your username and password to be the same as the email account you just set-up in cPanel.

None of the answers worked for me. After many hours, I found the problem, but only works for Cpanel/WHM

  • Login into WHM.
  • Go to ConfigServer Security & Firewall inside plugins option.
  • Click on Firewall configuration
  • Filter by SMTP Settings
  • Look for SMTP_ALLOWUSER option and add the Cpanel account's username separated by coma
  • Restart the Firewall.

If you don't have access to WHM ask your provider.

Hope it helps!

Mos probably phpmailer not supported by your hosting. You must have to cross check by creating new file and check simple php email function. Most probably SMTP not configure at your hosting provider

<?php
$to = "somebody@example.com";
$subject = "My subject";

$headers = "From: webmaster@example.com" . "\r\n" .
"CC: somebodyelse@example.com";

mail($to,$subject,$headers);
?>

My code is correct.
The issue was with Hosting Provider. I contacted them about this and they did some configuration on their Server and it's done.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM