For the past 2 days, I have been trying to get the PHP script to send email, but it does not seem to work. First I tried the regular php mail function, then PHPMailer, and then Swiftmailer.
I tried to use my Gmail and SMTP accounts, as well as my ISP's email and SMTP account, none of which worked. I tried to ping both SMTP servers, and they worked fine, and telnet also answered correctly. On telnet smtp.gmail.com 587 he said 220 smtp.gmail.com ESMTP q125sm9630397wmd.19 - gsmtp. I tried port 465 and 587 and combinations with TLS and SSL. For gmail, I also edited my gmail account to make sure it allows the use of less secure devices, allow imap, etc.
I am running apache on my computer in Windows 7. I have redirected ports 465 and 587. I have already gone through the PHPMailer troubleshooting page. I also disabled the firewall for testing, but that didn't help.
I correctly edited the php.ini settings, and also made sure that; has been removed from extension = php_openssl.dll.
This is my PHPMailer code based on the PHPMailer example provided for Gmail (I edited SMTP, accounts and passwords):
require '/PHPMailer/PHPMailerAutoload.php'; $mail = new PHPMailer; $mail->SMTPDebug = 3; // Enable verbose debug output $mail->isSMTP(); // Set mailer to use SMTP $mail->Host = 'smtp.x.x'; // Specify main and backup SMTP servers $mail->SMTPAuth = true; // Enable SMTP authentication $mail->Username = ' x@x.x '; // SMTP username $mail->Password = 'password'; // SMTP password $mail->SMTPSecure = 'tls'; // Enable TLS encryption, 'ssl' also accepted $mail->Port = 587; // TCP port to connect to $mail->setFrom(' x@x.x ', 'Mailer'); $mail->addAddress(' x@x.x '); // Add a recipient $mail->isHTML(true); // Set email format to HTML $mail->Subject = 'Here is the subject'; $mail->Body = 'This is the HTML message body <b>in bold!</b>'; $mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; if(!$mail->send()) { $checkup = 'Something went wrong'; echo 'Mailer Error: ' . $mail->ErrorInfo; } else { $checkup = 'Success'; }
When I use this in the SMTP of my ISP with the email address of the ISP, I get this error:
2016-05-06 12:27:04 Connection: opening to smtp.xx:587, timeout=300, options=array ( ) 2016-05-06 12:27:04 Connection: opened 2016-05-06 12:27:04 SERVER -> CLIENT: 220-smtp6.mnd.mail.iss.as9143.net ESMTP Fri, 06 May 2016 14:27:07 +0200 220-Sending spam or unsolicited commercial e-mail to this server is strictly 220-prohibited by our NO UBE / NO UCE policy. Abuse will be prosecuted and/or 220 charged per attempted recipient at international postal rates. 2016-05-06 12:27:04 CLIENT -> SERVER: EHLO localhost 2016-05-06 12:27:04 SERVER -> CLIENT: 250-smtp6.mnd.mail.iss.as9143.net Hello (MY IP ADDRESS, edited out for security) 250-SIZE 31457280 250-8BITMIME 250-PIPELINING 250-STARTTLS 250 HELP 2016-05-06 12:27:04 CLIENT -> SERVER: STARTTLS 2016-05-06 12:27:04 SERVER -> CLIENT: 220 TLS go ahead 2016-05-06 12:27:04 SMTP Error: Could not connect to SMTP host. 2016-05-06 12:27:04 CLIENT -> SERVER: QUIT 2016-05-06 12:27:04 SERVER -> CLIENT: MIA x dqi7 = &J 3ʚ ă S _ Z $ NH ؏ | m>[ z@ f g G .pAGD 8Q : J 'L a8% v (*YC u W s l #6F w 9 | \% ! B=: /U m bc\ cڊ 4 d -U seEZ PC Q Ai'JㅇK U ]h H v i cF M x } V HR c ! ,' *) $Oȕ EMƍ &B + u9A R j'[7 y a N 2016-05-06 12:27:04 SMTP ERROR: QUIT command failed: MIA x dqi7 = &J 3ʚ ă S _ Z $ NH ؏ | m>[ z@ f g G .pAGD 8Q : J 'L a8% v (*YC u W s l #6F w 9 | \% ! B=: /U m bc\ cڊ 4 d -U seEZ PC Q Ai'JㅇK U ]h H v i cF M x } V HR c ! ,' *) $Oȕ EMƍ &B + u9A R j'[7 y a N 2016-05-06 12:27:04 Connection: closed 2016-05-06 12:27:04 SMTP connect() failed. Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
As you can see, it connects, the SMTP server seems to recognize me by IP and says “forward”, and then suddenly it crashes. I searched everywhere and totally don’t understand how I can fix it.
When I use gmail SMTP + gmail account, it says this:
2016-05-06 17:42:40 Connection: opening to smtp.gmail.com:587, timeout=300, options=array ( ) 2016-05-06 17:42:40 Connection: opened 2016-05-06 17:42:40 SERVER -> CLIENT: 220 smtp.gmail.com ESMTP 8sm9564071wms.14 - gsmtp 2016-05-06 17:42:40 CLIENT -> SERVER: EHLO localhost 2016-05-06 17:42:40 SERVER -> CLIENT: 250-smtp.gmail.com at your service, [MY IP ADDRESS] 250-SIZE 35882577 250-8BITMIME 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-PIPELINING 250 SMTPUTF8 2016-05-06 17:42:40 CLIENT -> SERVER: STARTTLS 2016-05-06 17:42:40 SERVER -> CLIENT: 220 2.0.0 Ready to start TLS 2016-05-06 17:42:40 SMTP Error: Could not connect to SMTP host. 2016-05-06 17:42:40 CLIENT -> SERVER: QUIT 2016-05-06 17:42:40 SERVER -> CLIENT: MIA b8 4} 5KO q0$& Br Q P = r$ %➽, X " c 5ȭ D C b B @ T ?bڌ_ *܋ X1'T%_ QQ y}]OO 8d R| $ b [ , 5 [* H 5 l B a f f Pj c@ > vk+Cq r* - 4 'W勱A''A S , w: q 1 . * ',ȁ iH T0 E /1W | i4 { Gk J n,US F | |L n}Qp 2016-05-06 17:42:40 SMTP ERROR: QUIT command failed: MIA b8 4} 5KO q0$& Br Q P = r$ %➽, X " c 5ȭ D C b B @ T ?bڌ_ *܋ X1'T%_ QQ y}]OO 8d R| $ b [ , 5 [* H 5 l B a f f Pj c@ > vk+Cq r* - 4 'W勱A''A S , w: q 1 . * ',ȁ iH T0 E /1W | i4 { Gk J n,US F | |L n}Qp 2016-05-06 17:42:40 Connection: closed 2016-05-06 17:42:40 SMTP connect() failed. Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting
In debug mode 4, it says the same thing (this shows only part of the huge text wall that you get):
CLIENT -> SERVER: STARTTLS 2016-05-06 17:55:10 SMTP -> get_lines(): $data is "" 2016-05-06 17:55:10 SMTP -> get_lines(): $str is "220 TLS go ahead " 2016-05-06 17:55:10 SERVER -> CLIENT: 220 TLS go ahead 2016-05-06 17:55:10 SMTP Error: Could not connect to SMTP host. 2016-05-06 17:55:10 CLIENT -> SERVER: QUIT 2016-05-06 17:55:10 SMTP -> get_lines(): $data is "" 2016-05-06 17:55:10 SMTP -> get_lines(): $str is "MIA " 2016-05-06 17:55:10 SMTP -> get_lines(): $data is "MIA " 2016-05-06 17:55:10
He says that he is ready to start TLS, and then he says that the connection failed again. I read a lot of topics about this in stackoverflow, but none of the solutions and options suggested there worked. Does anyone have any ideas?