Отправка электронной почты с php - PullRequest
0 голосов
/ 10 августа 2011

Я пытаюсь написать очень простой php-код, который отправляет электронное письмо на указанный адрес.

I have this code:
<?php
mail('address@server.com','Test','Test OK');
echo 'Message sent!';
?>

Вместо 'address@server.com' я использовал свою электронную почту.

Я включил php, используя указания, приведенные в foundationphp , потому что я работаю на Mac со снежным барсом.

php работает, потому что я получаю "сообщение отправлено!"эхо, однако я не получаю никаких писем.

Есть идеи, почему это происходит?Что я делаю неправильно?

Заранее спасибо!

Ответы [ 3 ]

5 голосов
/ 10 августа 2011

Прежде всего, вы вообще не проверяли возвращаемое значение mail, вы увидите "Сообщение отправлено!"даже если он вернул false.

if (mail('address@server.com','Test','Test OK')) {
    echo 'Message sent!';
}

Во-вторых, даже если mail вернул true, это просто означает, что он передал почту MTA, а не то, что почта достигла места назначения.Если PHP успешно передает почту, вам нужно просмотреть свои почтовые журналы и отладить их там, потому что проблема не в коде / конфигурации PHP.

2 голосов
/ 10 августа 2011

Если вы запускаете это на своем локальном компьютере, скорее всего, ваши электронные письма никуда не денутся.Функция PHP mail не знает, есть ли у вас правильное соединение с исходящей почтой, она только знает, успешно ли почта поступила в локальную очередь.почта была принята для доставки, это НЕ означает, что почта действительно достигнет назначенного пункта назначения.- http://php.net/mail

Лучшим вариантом для несерверного компьютера является настройка удаленного SMTP-сервера (как правило, сервера вашего интернет-провайдера).http://email.about.com/od/emailprogrammingtips/qt/Configure_PHP_to_Use_a_Remote_SMTP_Server_for_Sending_Mail.htm

1 голос
/ 10 августа 2011

Вы получаете эхо "Сообщение отправлено!"потому что вы не спросили, было ли успешным mail ():

if ( mail(...) )
{
   echo 'Message sent!';
}
else 
{
   echo "Fail!";
}

Это должно дать вам правильный отзыв об этом

...