0
votes

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";
4
i think this is server side errorYogesh Prajapati
@Yogesh. Thanks for replying. But how can i solve it.?Puneet Chawla
dear i m also facing this problem ,but not geting any solutionYogesh Prajapati
What kind of host are you on? They might have out-going SMTP blocked (I know this is a thing as one of the hosts I use for VPS's blocks all outgoing SMTP, I have to ask them to unblock it for specific instances.).Darren
Can you test this with data you surely know to be correct? Can you test this with other SMTP servers like yahoo as well?Lajos Arpad

4 Answers

1
votes

Try phpmailer in debug mode to check the error

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

First logout the your gmail account

then open this url use this yrl

enter image description here

click the continue button

Next change the port and SMTPsecure

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

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).

0
votes

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.