Я получаю эту ошибку, несмотря на то, что php.ini настроен на действительный адрес send_from. Я знаю, что он действителен, потому что он работает, когда я отправляю его из белковой почты, но при отправке почты в 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
550 Доставка не допускается по указанному адресу
Эта ошибка означает, что отправитель пытается отправить электронное письмо на адрес, на который ему не разрешено отправлять. Это сообщение генерируется после того, как hMailServer проверил настройки диапазона IP. Например, конфигурация диапазона IP по умолчанию не позволяет внешним пользователям отправлять сообщения другим внешним пользователям. Это делается для того, чтобы люди не использовали ваш сервер для отправки спама. Поэтому, если внешний пользователь пытается отправить сообщение другому внешнему пользователю, он получит это сообщение.
Это смысл ошибки, которую вы получаете. Это из документации hMailServer .
Можете ли вы попробовать, если будут работать следующие?
<?php mail('tobiasvogel1@googlemail.com','Test Email','This is a test email.',"From: tobiasvogel1@googlemail.com"); ?>
Если это не работает, возможно, это связано с неправильной конфигурацией вашего hMailServer, и вам нужно будет проверить ваши журналы hMailServer .
4-й параметр функции mail () не равен «от». В вашем коде вы передаете только адрес электронной почты без «От:». Четвертый параметр предназначен для дополнительных заголовков писем, поэтому вам необходимо отформатировать его следующим образом:
mail($email, $subject,$message,"From: admin@dayshare.local\r\nX-Mailer: PHP");
В качестве примера я добавил еще один заголовок.
Попытайтесь, я работал для меня:
ini_set("sendmail_from", "info@yourdomain.com");
Вам нужны кавычки и полуколония:
$email="tobiasvogel1@googlemail.com";
ХРАНИТЕ В РАЗУМ, каждый раз, после изменения php.ini,
ps в php.ini, я использовал:
SMTP = localhost smtp_port = 25 sendmail_from = your_user@gmail.com
или если oyu cant отредактирует php.ini, попробуйте вставить эти строки в свой php-скрипт.
ini_set("SMTP", "localhost"); ini_set("smtp_port", "25"); ini_set("sendmail_from", "your_user@gmail.com");