Мне нужно отправить письмо с помощью php. вот мой код:
$to= "[email protected]";
$subject = "demande d'intervention";
$message = "<h1>Demande d'intervention<h1>
Bonjour,<br>
il y a une urgence et on souhaite votre intervention docteur <br>";
$headers = 'From: DRIF <[email protected]>' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'Content-Type: text/html; charset="iso-8859-1"' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
Вот как я настроил файл php.ini:
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = "smtp.live.com"; http://php.net/smtp-port
smtp_port = 587
username="[email protected]"password="blablabla"; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = "[email protected]"
Я получаю это сообщение об ошибке:
SMTP server response: 550 5.7.3 Requested action aborted; user not authenticated
Я попытался подключиться к своей учетной записи Hotmail, но я не нашел каких-либо недавних действий, поэтому я могу подтвердить, что это был я.
Я слышал, что я должен использовать PHP Mailer, но я не знал, как его использовать
Не могли бы вы мне помочь? заранее спасибо
Простой ответ: «ты делаешь это неправильно». призвание mail()
напрямую почти всегда ошибка. Создание и отправка электронных писем действительно довольно трудно сделать правильно, поэтому используйте библиотеку, как PHPMailer сделать это для вас.
Обычная проблема в Windows заключается в том, что у вас обычно нет локального почтового сервера, поэтому функция почты вообще не работает. Некоторые библиотеки (включая PHPMailer) содержат SMTP-клиента, который может отправлять сообщения напрямую, без необходимости использования локального почтового сервера. Это не всегда хорошая идея, так как SMTP не подходит для интерактивного использования (например, во время загрузки HTML-страницы), но это может быть все, что вы можете использовать.
Стеки развертывания Windows как WAMP предоставить свой собственный почтовый сервер.
Вы найдете множество примеров, предоставляемых с PHPMailer — просто измените их настройки для работы с вашей конфигурацией. Если вы застряли, есть много документов, readme, справочная вики и сгенерированная документация по API, а также множество вопросов и ответов здесь, в SO (смотрите тег PHPMailer).
Hotmail, чем порт нет. будет 587 и хозяин будет smtp.live.com
пожалуйста, обратитесь к ссылке ниже для деталей:
http://www.technonutty.com/2013/08/send-email-through-php-webapplication.html
Теперь он работает с учетной записью GMAIL, вот мой код:
<?php
require "C:\wamp\www\PHPMailer-master\PHPMailerAutoload.php";
$mail = new PHPMailer(); // create a new object
$mail->IsSMTP(); // enable SMTP
$mail->SMTPAuth = true; // authentication enabled
$mail->Host = "smtp.gmail.com";
$mail->Port = 587; //465; // or 587
$mail->Username = "[email protected]";
$mail->Password = "blabla";
$mail->SetFrom("[email protected]");
$mail->Subject = "DEMANDE d'intervention";
$mail->Body = "Bonjour, il y a une urgence et on souhaite votre intervention docteur ";
$mail->AddAddress("[email protected]");
if(!$mail->Send())
{
echo "Mailer Error";
}
else
{
echo "Message has been sent";
}
?>
Спасибо за вашу помощь 🙂