Я пытаюсь отправить электронную почту с localhost, но почему-то почта не отправляется на любой адрес электронной почты. Я пытаюсь настроить электронную почту с localhost и нашел некоторое решение, которое указывает мне настроить с помощью сервера sendemail, который является \ xampp \ sendmail \ sendmail.exe . Моя проблема в том, что я не могу найти папку sendmail в моем каталоге xampp. Поэтому нельзя настроить sendmail.
Я использую xampp v3.2.1
Может понравиться, кто-нибудь скажет мне, почему у меня нет папки sendmail в xampp-каталоге?
У вас должен быть SMTP-сервер , поэтому вы можете отправлять письма
Альтернативные решения – использовать внешние, например gmail, например
Сначала у вас должны быть действительные почтовые ящики gmail, после чего перейдите на php.ini и настройте их следующим образом:
[mail function] SMTP = ssl://smtp.gmail.com smtp_port = 465 username = YOUR_GOOGLE_USERNAME password = YOUR_GOOGLE_PASSWORD
Перезагрузите свой веб-сервер и попробуйте с помощью классической функции php mail ()
Вот моя конфигурация SMTP-сервера yml, которую я использовал для проекта symfony:
parameters: mailer_transport: gmail mailer_host : 127.0.0.1 mailer_user : anis.halayem@gmail.com mailer_password : ***my_gmail_password_secret*** locale : en
Вы можете настроить локальный SMTP-сервер локального SMTP-сервера
__РЕДАКТИРОВАТЬ__
Попробуйте с PHPMailer: PHPMailer – полнофункциональное создание электронной почты
И хорошо с этим, что он позволит вам отлаживать то, что вызывает проблемы с отправкой писем с помощью gmail smtp server
Первое: вы за прокси? если это так, вам нужно настроить переменные среды HTTP_PROXY/HTTPS_PROXY
Здесь вы можете найти полезную документацию
Теперь вы можете создать скрипт сценария php, который можно запустить непосредственно через строку команд или с помощью веб-сервера
<?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!"; }