mail(): SMTP-ответ сервера: 550 Адрес не действителен, ошибка на hmailserver
Я получаю эту ошибку, несмотря на настройку php.ini на действительный адрес send_from. Я знаю, что он действителен, потому что он работает, когда я отправляю его с squirrel mail, но при отправке почты в php он просто не будет работать. неверный адрес предположительно относится к адресу send_from. поэтому я не могу понять, как он может думать, что это неправильно. вот код php:
$email="tobiasvogel1@googlemail.com";
$subject = "Your New Password";
$from="admin@dayshare.local";
$message = "Your new password is as follows:
xxxxxxxxxxxxxxxxxxxxxxxxxxx
This email was automatically generated.";
if(!mail($email, $subject,$message,$from)){
echo ("error");
}else echo "success";
и в php.ini:
SMTP = localhost
sendmail_from = admin@dayshare.local
5 ответов
550 Доставка по этому адресу запрещена
Эта ошибка означает, что отправитель пытается отправить электронное письмо на адрес, на который ему запрещено отправлять сообщения. Это сообщение генерируется после того, как hMailServer проверил настройки диапазона IP-адресов. Например, конфигурация диапазона IP-адресов по умолчанию не позволяет внешним пользователям отправлять сообщения другим внешним пользователям. Это сделано для того, чтобы люди не могли использовать ваш сервер для рассылки спама. Поэтому, если внешний пользователь пытается отправить сообщение другому внешнему пользователю, он получит это сообщение.
В этом смысл ошибки, которую вы получаете. Это из документации hMailServer.
Можете ли вы попробовать, если следующее будет работать?
<?php
mail('tobiasvogel1@googlemail.com','Test Email','This is a test email.',"From: tobiasvogel1@googlemail.com");
?>
Если это не работает, то это, вероятно, из-за неправильной конфигурации вашего hMailServer, и вам нужно будет проверить свои журналы hMailServer.
Четвёртый параметр функции mail() не является "от". В вашем коде вы только передаете адрес электронной почты без "From: " - четвертый параметр для дополнительных заголовков почты, поэтому вы должны отформатировать его следующим образом:
mail($email, $subject,$message,"From: admin@dayshare.local\r\nX-Mailer: PHP");
Я добавил еще один заголовок в качестве примера.
Попробуйте это, сработало для меня:
ini_set("sendmail_from", "info@yourdomain.com");
Вам нужны кавычки и точка с запятой:
$email="tobiasvogel1@googlemail.com";
вот еще одно решение - WAMP отправлять почту с помощью SMTP localhost
Держите в уме, каждый раз, после того как вы измените php.ini,
Вы должны перезагрузить Wamp (!!!)
PS в php.ini, я использовал:
SMTP = localhost
smtp_port = 25
sendmail_from = your_user@gmail.com
или если вы не можете редактировать php.ini, попробуйте вставить эти строки в ваш php-скрипт.
ini_set("SMTP", "localhost");
ini_set("smtp_port", "25");
ini_set("sendmail_from", "your_user@gmail.com");