I try to send an email from localhost to my yahoo email account using php mail() function, the return says I successfully send the email but I did not get any email. I've been reading and trying many so called 'simple way' to send email but the result are disappointing, none of them work for me. Below are the code, the configurations and the error message. Can someone enlighten me with this? Thanks.
php code
<?php
$to = '[email protected]';
$subject = 'Fake sendmail test';
$message = 'If we can read this, it means that our fake Sendmail setup works!';
$headers = 'From: [email protected]' . "rn" .
'Reply-To: [email protected]' . "rn" .
'X-Mailer: PHP/' . phpversion();
if(mail($to, $subject, $message, $headers)) {
echo 'Email sent successfully!';
} else {
die('Failure: Email was not sent!');
}
?>
Configuration for php.ini (I'm using gmail mail server)
SMTP =smtp.gmail.com
smtp_port =587
sendmail_from = [email protected]
sendmail_path = ""C:xamppsendmailsendmail.exe" -t"
Configuration for sendmail.ini
smtp_server=smtp.gmail.com
smtp_port=587
smtp_ssl=tls
error_logfile=error.log
debug_logfile=debug.log
[email protected]
auth_password=mypassword
[email protected]
error message in sendmail error log with port 587
13/10/02 13:36:41 : Must issue a STARTTLS command first. k4sm129639pbd.11 - gsmtp
Here's the link that gives me the answer:
(ignore the "Unix only" bit, since we actually are using sendmail)
To access a Gmail account protected by 2-factor verification, you will need to create an application-specific password. (source)