I am trying to send email from localhost but somehow mail is not being send to any email address. I am trying to configure email from localhost and found some solution which are pointing me to configure with sendemail server which is \xampp\sendmail\sendmail.exe. My problem is that I can not found sendmail folder in my xampp directory. So can not configure sendmail.
I am using xampp v3.2.1
Can please anyone tell me that why I don't have sendmail folder in xampp dir?
You must have SMTP Server, so you can send mails
Alternative solutions is to use externals one, like gmail for example
First you should have a valid gmail credetials, after that go to php.ini and configure it as follow :
[mail function]
SMTP = ssl://smtp.gmail.com
smtp_port = 465
username = YOUR_GOOGLE_USERNAME
password = YOUR_GOOGLE_PASSWORD
Restart your web server and try with the classic php mail() function
Here is my yml SMTP Server configuration that i have used for a symfony project :
parameters:
mailer_transport: gmail
mailer_host : 127.0.0.1
mailer_user : anis.halayem@gmail.com
mailer_password : ***my_gmail_password_secret***
locale : en
You can setup your own local SMTP Server local SMTP Server
__EDIT__
Try with PHPMailer : PHPMailer - A full-featured email creation
And the good thing with it, that it will let you debug what is causing troubles with sending mails using gmail smtp server
First thing : are you behind proxy ? if it's the case, you have to configure the HTTP_PROXY/HTTPS_PROXY
environment variables
You can find useful documentations here and here
Now, you can create a php test script that you can launch directly via commands line or using a web server
<?php
require_once ('PHPMailer-master/class.phpmailer.php');
require_once ('PHPMailer-master/class.smtp.php');
$mail = new PHPMailer();
$body = "<h1> Sending HTML Mails using gmail</h1><p>it's great !!</p>";
$mail->IsSMTP(); // telling the class to use SMTP
$mail->SMTPDebug = 1; // enables SMTP debug information (for testing)
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPSecure = "tls"; // sets the prefix to the servier
$mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server
$mail->Port = 587; // set the SMTP port for the GMAIL server
$mail->Username = "YOUR_GMAIL_ACCOUNT" ; // GMAIL username
$mail->Password = 'YOUR_GMAIL_PASSWORD' ; // GMAIL password
$mail->SetFrom('VALID_USER@gmail.com', 'Anis Halayem');
$mail->Subject = "Test Send Mails";
$mail->MsgHTML($body);
$address = "VALID_USER@gmail.com";
$mail->AddAddress($address, "USER NAME");
// $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!";
}
I encountered the same problem.
It is very easy solve.
Just follow these steps:
First make sure that you are using Xampp v3.2.2 because that is the version I am using and about which I know.
- Copy and paste all the files "you" have created in htdocs folder anywhere on the pc.(so that they are not deleted).
- Uninstall Xampp.
- And then reinstall Xampp, but this time, DON'T UNCHECK THE "Fake Sendmail" option from the list when it asks "Select Components".
- And then follow the normal processes.
And, you are done. The Sendmail would be normally installed.
来源:https://stackoverflow.com/questions/34000669/sendmail-folder-does-not-exist-in-xampp-directory