Hi, I am in a company where SMTP is currently not available and port 25 is also blocked, Therefore I have choosen to send email via PHP Mailer Class but whrn I setup everything its giving me error...

Second I did not understand this line

$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host       = "gmail.com"; // SMTP server
SMTP -> ERROR: Failed to connect to server: Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP? (112107656) 
SMTP Error: Could not connect to SMTP host. Mailer Error: SMTP Error: Could not connect to SMTP host.

Here is the code I am using

<html>
<head>
<title>PHPMailer - SMTP (Gmail) basic test</title>
</head>
<body>

<?php

//error_reporting(E_ALL);
error_reporting(E_STRICT);

date_default_timezone_set('America/Toronto');

require_once('../class.phpmailer.php');

//include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded

$mail             = new PHPMailer();

$body             = file_get_contents('contents.html');
$body             = eregi_replace("[\]",'',$body);

$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host       = "gmail.com"; // SMTP server
$mail->SMTPDebug  = 2;                     // enables SMTP debug information (for testing)
                                           // 1 = errors and messages
                                           // 2 = messages only
$mail->SMTPAuth   = true;                  // enable SMTP authentication
$mail->SMTPSecure = "ssl";                 // sets the prefix to the servier
$mail->Host       = "smtp.gmail.com";      // sets GMAIL as the SMTP server
$mail->Port       = 465;                   // set the SMTP port for the GMAIL server
$mail->Username   = "*****@gmail.com";  // GMAIL username
$mail->Password   = "******";            // GMAIL password

$mail->SetFrom('****@zong.com.pk', 'First Last');

$mail->AddReplyTo("****@zong.com.pk","First Last");

$mail->Subject    = "PHPMailer Test Subject via smtp (Gmail), basic";

$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test

$mail->MsgHTML($body);

$address = "*****@zong.com.pk";
$mail->AddAddress($address, "John Doe");

$mail->AddAttachment("images/phpmailer.gif");      // attachment
$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment

if(!$mail->Send()) {
  echo "Mailer Error: " . $mail->ErrorInfo;
} else {
  echo "Message sent!";
}

?>

</body>
</html>

Recommended Answers

10060 means a connection time-out. This can be caused by a lot of things. As far as I can tell, you gmail settings are correct. Perhaps the domain has been blocked, or port 465, hard to tell.

Jump to Post

Of course that is possible, check with your network admin.

Jump to Post

That error normally indicates that sendmail is not installed.

Jump to Post

All 10 Replies

I opened SSL and ebnable it
Now its giving this error

SMTP -> ERROR: Failed to connect to server: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. (10060) 
SMTP Error: Could not connect to SMTP host. Mailer Error: SMTP Error: Could not connect to SMTP host.

10060 means a connection time-out. This can be caused by a lot of things. As far as I can tell, you gmail settings are correct. Perhaps the domain has been blocked, or port 465, hard to tell.

Now this error

SMTP -> ERROR: Failed to connect to server: php_network_getaddresses: getaddrinfo failed: No such host is known. (0)
SMTP Error: Could not connect to SMTP host. Mailer Error: SMTP Error: Could not connect to SMTP host.

using below chage in host $mail->Host = "ssl://smtp.gmail.com"; // SMTP server

$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host       = "ssl://smtp.gmail.com"; // SMTP server
$mail->SMTPDebug  = 2;                     // enables SMTP debug information (for testing)
                                           // 1 = errors and messages
                                           // 2 = messages only
$mail->SMTPAuth   = true;                  // enable SMTP authentication
$mail->SMTPSecure = "ssl";                 // sets the prefix to the servier
$mail->Host       = "ssl://smtp.gmail.com";      // sets GMAIL as the SMTP server
$mail->Port       = 465;                   // set the SMTP port for the GMAIL server
$mail->Username   = "*****219@gmail.com";  // GMAIL username
$mail->Password   = "*****";            // GMAIL password

Can Someone check and guide in this regard; Sockets blocked or port blocked?

my emailgmail.php file is showing this error SMTP Error: Could not connect to SMTP host. Message was not sent.Mailer error: SMTP Error: Could not connect to SMTP host. my file is like this

<html>
<head>
<title>PHPMailer - SMTP (Gmail) basic test</title>
</head>
<body>

<?php

//error_reporting(E_ALL);
error_reporting(E_STRICT);

date_default_timezone_set('America/Toronto');

require_once('../class.phpmailer.php');

//include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded

$mail             = new PHPMailer();

$body             = file_get_contents('contents.html');
$body             = eregi_replace("[\]",'',$body);

$mail->IsSMTP(); // telling the class to use SMTP
$mail->SMTPSecure = "ssl";					// sets the prefix to the servier
$mail->Host       = "smtp.gmail.com";      // sets GMAIL as the SMTP server
$mail->SMTPAuth   = true;                  // enable SMTP authentication
                 

$mail->Port       = 465;                   // set the SMTP port for the GMAIL server 587
$mail->Username   = "********@gmail.com";  // GMAIL username
$mail->Password   = "my_password";            // GMAIL password

$mail->From     = "f@abcd.com";
$mail->AddAddress("h@abcd.com");

$mail->Subject  = "First PHPMailer Message";
$mail->Body     = "Hi! \n\n This is my first e-mail sent through PHPMailer.";
$mail->WordWrap = 50;

if(!$mail->Send()) {
  echo 'Message was not sent.';
  echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
  echo 'Message has been sent.';
}
?>

</body>
</html>

10060 means a connection time-out. This can be caused by a lot of things. As far as I can tell, you gmail settings are correct. Perhaps the domain has been blocked, or port 465, hard to tell.

I think my organization have blocked Gmail outgoing Via SMTP on Port 465 and 587..
Is it Possible?

Of course that is possible, check with your network admin.

Now I used sendmail(PHP Mailer) but it gives error Could not execute: /var/qmail/bin/sendmail Mailer Error: Could not execute: /var/qmail/bin/sendmail

<html>
<head>
<title>PHPMailer - Sendmail basic test</title>
</head>
<body>

<?php

require_once('../class.phpmailer.php');

$mail             = new PHPMailer(); // defaults to using php "mail()"

$mail->IsSendmail(); // telling the class to use SendMail transport

$body             = "hello";


$mail->AddReplyTo("name@yourdomain.com","First Last");

$mail->SetFrom('name@yourdomain.com', 'First Last');

$mail->AddReplyTo("name@yourdomain.com","First Last");

$address = "whoto@otherdomain.com";
$mail->AddAddress($address, "John Doe");

$mail->Subject    = "PHPMailer Test Subject via Sendmail, basic";

$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test

$mail->MsgHTML($body);

$mail->AddAttachment("images/phpmailer.gif");      // attachment
$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment

if(!$mail->Send()) {
  echo "Mailer Error: " . $mail->ErrorInfo;
} else {
  echo "Message sent!";
}

?>

</body>
</html>

That error normally indicates that sendmail is not installed.

That error normally indicates that sendmail is not installed.

Which program I have to Installed for it as I do not have much knowledge about it.

Also I got access for port 25 on local network but due to some issues it cant send 2 emails on one day. there is some issues that will be solved by Network Administrator.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of 1.20 million developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.