Could not connect to SMTP host. Message could not be sent

纵饮孤独 提交于 2019-12-02 16:57:01

问题


When I sent email from server then it gives me two error -

SMTP Error: Could not connect to SMTP host. Message could not be sent. Mailer Error: SMTP Error: Could not connect to SMTP host.

I found many hints on another answers on Stack overflow but doesn't work. I tried port no 465/587/65. Even below code works proper on my local system If i set port 587. But in server, It doesn't work.

require('class.phpmailer.php');
require('class.smtp.php');

$mail = new PHPMailer();

$mail->IsSMTP();      
$mail->SMTPSecure = "ssl";
$mail->SMTPAuth = true;
$mail->Host = "smtp.gmail.com"; 
$mail->Username = "FromEmailId";
$mail->Password = "Password"; 
$mail->Port = 465;
$mail->From = "FromEmailId";
$mail->AddAddress("ToEmail");      
$mail->IsHTML(true);                                  
$mail->Subject = "Here is the subject";
$mail->Body    = "This is the HTML message body <b>in bold!</b>";

if(!$mail->Send())
{
   echo "Message could not be sent. <p>";
   echo "Mailer Error: " . $mail->ErrorInfo;
   exit;
}
echo "Message has been sent";

回答1:


Try phpmailer in debug mode to check the error

$mail->SMTPDebug = 3;       // Enable verbose debug output



回答2:


First logout the your gmail account

then open this url use this yrl

click the continue button

Next change the port and SMTPsecure

$mail->SMTPSecure = "tls";
$mail->Port = 587;



回答3:


The Gmail Help :

Still can't send mail?

If you tried configuring your SMTP server on port 465 (with SSL/TLS) and port 587 (with STARTTLS), but are still having trouble sending mail, try configuring your SMTP to use port 25 (with SSL/TLS).




回答4:


This question failed to do a basic search and missed a vital piece of information later mentioned in comments: the OP is using GoDaddy. GoDaddy is well known to block outbound SMTP, so any suggestions relating to switching port numbers or security protocols will not help. You need to read other questions on GoDaddy's mail handling, and read their support documentation, which will push you in the direction of using GoDaddy's mail servers (using securehosting domains) or via localhost as a relay to the same. All of this is also covered in the PHPMailer troubleshooting guide.

In future, search before posting, as per the SO guidelines.



来源:https://stackoverflow.com/questions/37518499/could-not-connect-to-smtp-host-message-could-not-be-sent

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!