2

I am trying to send email by using Gmail (maybe even Yahoo SMTP ) , I have the following code

require("class.phpmailer.php"); //ini_set("SMTP","smtp.google.com" ); $smtp=$_GET["smtp"]; $youremail= $_GET["youremail"]; $emailpassword=$_GET["emailpassword"]; $companyemail=$_GET["companyemail"]; $messagetitle= $_GET["messagetitle"]; $messagetext=$_GET["messagetext"]; echo "_GET variables dump" ; var_dump($smtp); var_dump($youremail); var_dump($emailpassword); var_dump($companyemail); var_dump($messagetitle); var_dump($messagetext); //this is a path to PHP mailer class you have dowloaded //include("class.phpmailer.php"); $emailChunks = explode(",", $companyemail); for($i = 0; $i < count($emailChunks); $i++){ // echo "Piece $i = <br />"; $mail = new PHPMailer(); $mail->IsSMTP(); $mail->SMTPDebug = 1; // errors and messages //$mail->SMTPSecure = "tls"; // sets the prefix to the servier $mail->SMTPSecure = "ssl"; $mail->Port = 587; $mail->Host = $smtp; $mail->SMTPAuth = true; // turn on SMTP authentication $mail->Username = $youremail; // SMTP username $mail->Password = $emailpassword; // SMTP password $mail->From = $youremail; //do NOT fake header. $mail->FromName = $youremail; $adr=$emailChunks[$i]; $mail->AddAddress($adr); // Email on which you want to send mail $mail->AddReplyTo($emailpassword, "Reply to"); //optional $mail->IsHTML(true); $mail->Subject = $messagetitle; $mail->Body = $messagetext; echo "mail variable dump" ; var_dump($mail); if(!$mail->Send()) { echo $mail->ErrorInfo; }else{ echo "email was sent"; } } 

When I call the code - I use var_dump for debugging purpose I get

ALL EMAIL MESSAGES HAVE BEEN WITH STATUS :_GET variables dumpstring(14) "smtp.gmail.com" string(18) "[email protected]" string(8) "mypass" string(18) "[email protected]" string(2) "message subject" string(6) "message" Invalid address: mypassmail variable dumpobject(PHPMailer)#1 (53) { ["Priority"]=> int(3) ["CharSet"]=> string(10) "iso-8859-1" ["ContentType"]=> string(9) "text/html" ["Encoding"]=> string(4) "8bit" ["ErrorInfo"]=> string(25) "Invalid address: mypass" ["From"]=> string(18) "[email protected]" ["FromName"]=> string(18) "[email protected]" ["Sender"]=> string(0) "" ["Subject"]=> string(2) "ja" ["Body"]=> string(6) "message" ["AltBody"]=> string(0) "" ["WordWrap"]=> int(0) ["Mailer"]=> string(4) "smtp" ["Sendmail"]=> string(18) "/usr/sbin/sendmail" ["PluginDir"]=> string(0) "" ["ConfirmReadingTo"]=> string(0) "" ["Hostname"]=> string(0) "" ["MessageID"]=> string(0) "" ["Host"]=> string(14) "smtp.gmail.com" ["Port"]=> int(587) ["Helo"]=> string(0) "" ["SMTPSecure"]=> string(3) "ssl" ["SMTPAuth"]=> bool(true) ["Username"]=> string(18) "[email protected]" ["Password"]=> string(8) "mypass" ["Timeout"]=> int(10) ["SMTPDebug"]=> int(1) ["SMTPKeepAlive"]=> bool(false) ["SingleTo"]=> bool(false) ["SingleToArray"]=> array(0) { } ["LE"]=> string(1) " " ["DKIM_selector"]=> string(9) "phpmailer" ["DKIM_identity"]=> string(0) "" ["DKIM_domain"]=> string(0) "" ["DKIM_private"]=> string(0) "" ["action_function"]=> string(0) "" ["Version"]=> string(3) "5.1" ["smtp:private"]=> NULL ["to:private"]=> array(1) { [0]=> array(2) { [0]=> string(18) "[email protected]" [1]=> string(0) "" } } ["cc:private"]=> array(0) { } ["bcc:private"]=> array(0) { } ["ReplyTo:private"]=> array(0) { } ["all_recipients:private"]=> array(1) { ["[email protected]"]=> bool(true) } ["attachment:private"]=> array(0) { } ["CustomHeader:private"]=> array(0) { } ["message_type:private"]=> string(0) "" ["boundary:private"]=> array(0) { } ["language:protected"]=> array(17) { ["provide_address"]=> string(54) "You must provide at least one recipient email address." ["mailer_not_supported"]=> string(25) " mailer is not supported." ["execute"]=> string(19) "Could not execute: " ["instantiate"]=> string(36) "Could not instantiate mail function." ["authenticate"]=> string(35) "SMTP Error: Could not authenticate." ["from_failed"]=> string(35) "The following From address failed: " ["recipients_failed"]=> string(45) "SMTP Error: The following recipients failed: " ["data_not_accepted"]=> string(30) "SMTP Error: Data not accepted." ["connect_host"]=> string(43) "SMTP Error: Could not connect to SMTP host." ["file_access"]=> string(23) "Could not access file: " ["file_open"]=> string(33) "File Error: Could not open file: " ["encoding"]=> string(18) "Unknown encoding: " ["signing"]=> string(15) "Signing Error: " ["smtp_error"]=> string(19) "SMTP server error: " ["empty_message"]=> string(18) "Message body empty" ["invalid_address"]=> string(15) "Invalid address" ["variable_set"]=> string(30) "Cannot set or reset variable: " } ["error_count:private"]=> int(1) ["sign_cert_file:private"]=> string(0) "" ["sign_key_file:private"]=> string(0) "" ["sign_key_pass:private"]=> string(0) "" ["exceptions:private"]=> bool(false) } SMTP -> ERROR: Failed to connect to server: Connection timed out (110) <br />SMTP Error: Could not connect to SMTP host. SMTP Error: Could not connect to SMTP host. 

And the email send fails !

2

2 Answers 2

2

You should replace the SMTPSecure value from SSL to TLS. It will resolve your issue connect to the Server and mail was sent. I have tested your code it is working fine.

$mail->SMTPSecure = "tls"; // sets the prefix to the servier //$mail->SMTPSecure = "ssl";

Second Replacement is your replayto email $mail->AddReplyTo($youremail, "Reply to"); //optional You have given $emailpassword it is wrong.

Sign up to request clarification or add additional context in comments.

Comments

0
$mail->AddReplyTo($emailpassword, "Reply to") ????? 

Reply address== mail password ?

5 Comments

You have a very sharp eye I change it but i still get SMTP -> ERROR: Failed to connect to server: Connection timed out (110) <br />SMTP Error: Could not connect to SMTP host. SMTP Error: Could not connect to SMTP host.
I tried to change port to 465 did not work..Maybe it has something to do with php.ini configuration file.
Thanks, if you use ssl then set port to 465, this is a working example:phpmailer.worxware.com/index.php?pg=exampleagmail, and in your php.ini add this line extension=php_openssl.dll
This is what I get when I run that code ERROR: Failed to connect to server: php_network_getaddresses: getaddrinfo failed: Name or service not known (0) <br /><strong>SMTP Error: Could not connect to SMTP host.</strong><br /> SMTP -> ERROR: Failed to connect to server: php_network_getaddresses: getaddrinfo failed: Name or service not known (0) <br /><strong>SMTP Error: Could not connect to SMTP host.</strong><br />- I put $mail->Body = $messagetext; and commented out html attachments part
this is a network error, try "telnet smtp.gmail.com 465" in shell, if not connected, then probable firewall, or dns error.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.