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");
Другие вопросы по тегам