#php #http #email #post
#php #http #Адрес электронной почты #Публикация
Вопрос:
У меня есть следующая простая форма электронной почты, которая отправляет данные в mb_send_mail
:
<!DOCTYPE html>
<html>
<?php
if ($_POST) {
$header = "MIME-Version: 1.0n";
$header .= "Content-Type: text/html;";
$header .= "charset="utf-8"n";
$to = 'testmyemailforphp@gmail.com';
$subject = 'Test email';
$isSent = mb_send_mail($to, $subject, $_POST['message'], $header);
}
if ($isSent)
$output = "the message was sent<br>";
else
$output = "some error<br>";
?>
<body>
<?php
if ($output)
echo "<p>$output</p>";
?>
<form method="POST">
<textarea name="message"></textarea><br>
<input type="submit" value="Send">
</form>
</body>
</html>
Теперь, после вставки некоторого текста и нажатия кнопки отправки, будет напечатано сообщение об успешном завершении the message was sent
. Но в моем электронном письме testmyemailforphp@gmail.com
(созданном специально для этой цели) я не вижу никаких доходов, даже через 15 минут. Итак, как я могу проверить, действительно ли функция mb_send_mail
что-то отправляет?
Комментарии:
1. «Итак, как я могу проверить, действительно ли функция mb_send_mail что-то отправляет?» — Вы уже делаете это с помощью своего условного оператора. Если вы получили ответ «сообщение было отправлено», значит, почта выполнила свою работу. Если вы не получили электронное письмо, значит, где-то произошел сбой, и узнать причину может быть практически невозможно, учитывая, что у вас есть доступ к почте. Посмотрите, выдает ли что-нибудь сообщение об ошибке.
2. Спасибо, но я не хочу этого делать, и вам следует удалить этот комментарий. Вас могут взломать.
3. @FunkFortyNiner это просто тестовая почта
4. Предположительно, в вашем php.ini есть адрес «from» по умолчанию. Разрешено ли серверу, на котором вы запускаете это, (например, настройками SPF) отправлять почту от имени этого адреса?
5. @GregSchmidt Я понятия не имею, как настроить php.ini. Я настроил свой lamp с помощью
https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mariadb-php-lamp-stack-on-debian-10
руководства и используюlocalhost
для этого. Localhost не может отправить электронное письмо?