Sending Emails With PHP
Sending Emails With PHP
Sending Emails With PHP
To configure XAMPP server to send mail from localhost we have to make changes
to two files
1) sendmail.ini and 2) php.ini.
Open the xampp folder. By the name of “sendmail.ini” is present in sendmail file
and “php.ini” is present in php file in the xampp folder.
Step 1:
Go to C:\xampp\sendmail: open sendmail.ini file in notepad or any
text editor and make the changes as follows.
uncomment ;error_logfile=error.log to error_logfile=error.log
uncomment ;debug_logfile=debug.log to debug_logfile=debug.log
write your gmail id in auth_username: auth_username=*****@gmail.com
write your gmail password in auth_password: auth_password=*****
write your gmail id in force_sender: *****@gmail.com
change hostname to hostname=localhost
Step:2
Go to C:\xampp\php: open php.ini file in notepad or any text editor
goto [mail function] part and make the changes as follows.
After following the given steps if the mail is not sent by calling the mail function,
then goto C:\xampp\sendmail open error.log to see the error occurred.
Note: Here the procedure is shown for gmail, but it can be extended to other
mails by changing the smtp server, port number. When using gmail take care to
enable the option to allow access to less secure webapp.
And then generate an App Password to use with PHP code to send emails.
//mail($to,$subject,$txt); //,$headers);
if (mail($to, $subject, $txt)) {
echo "Email successfully sent to $to ...";
} else {
echo "Email sending failed...";
}
?>
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'vendor/autoload.php';
try {
$mail->SMTPDebug = 2;
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com;';
$mail->SMTPAuth = true;
$mail->Username = '[email protected]';
$mail->Password = 'qzzspjdrseuibnda';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->setFrom('[email protected]');
$mail->addAddress('[email protected]');
//$mail->addAddress('[email protected]', 'Name');
$mail->isHTML(true);
$mail->Subject = 'Subject';
$mail->Body = 'HTML message body in <b>bold</b> ';
$mail->AltBody = 'Body in plain text for non-HTML mail clients';
$mail->send();
echo "Mail has been sent successfully!";
} catch (Exception $e) {
echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}
?>
How to configure XAMPP to send mail from localhost using PHP ? - GeeksforGeeks