Мой скрипт php, написанный для отправки почты, не работает - PullRequest
0 голосов
/ 04 ноября 2011

Я создал форму и написал php-скрипт для отправки письма после нажатия кнопки «Отправить» и отображения сообщения с благодарностью после отправки письма.Сообщение «Спасибо» помещается на другую страницу HTML.

Я помещаю их в папку WWW на сервере WAMP и пробую.Откроется страница «Спасибо», но письмо не отправлено на мой почтовый аккаунт.

Почему оно не отправило мою почту?Нужно ли размещать веб-сайт для этого?

Это код, который я использую:

<?php
$email_from = 'aa@gmail.com';
$email_subject = "Arrange new Safari service";
$email_body = "You have received a new message from  $name.\n"
$to = "aa@gmail.com";
$headers = "From: $email_from \r\n";
$headers .= "Reply-To: $visitor_email \r\n";
mail($to,$email_subject,$email_body,$headers);
header('Location: thanking.html');
?>

Ответы [ 4 ]

1 голос
/ 04 ноября 2011

Если вы используете функцию php mail (), вам нужен сервер smtp. Да, это может работать на вашем хостинге.

Вы также можете использовать библиотеку типа http://swiftmailer.org/, чтобы упростить ее (вы сможете без проблем использовать удаленные SMTP-серверы)

1 голос
/ 04 ноября 2011
0 голосов
/ 04 ноября 2011

Вам необходимо настроить PHP для использования работающей службы SMTP для отправки электронной почты SMTP.

По сути, кажется, что конфигурация SMTP для вашего экземпляра PHP использует значения по умолчанию, которые указывают на localhost. Но на вашем локальном компьютере не работает служба SMTP. Поэтому вам нужно указать сервер, на котором он запущен, и тот, который разрешено использовать вашему приложению.

Вам необходимо настроить php.ini с действующим сервером smtp и адресом электронной почты.

Проверьте эту статью http://www.sitepoint.com/advanced-email-php/

0 голосов
/ 04 ноября 2011

Возможно, в предоставленном вами коде есть некоторые синтаксические ошибки:

$email_from = 'aa@gmail.com';
$email_subject = "Arrange new Safari service";
$email_body = "You have received a new message from  $name.\n";
$to = "aa@gmail.com";
$headers = "From: $email_from \r\n";
$headers .= "Reply-To: $visitor_email \r\n";
mail($to,$email_subject,$email_body,$headers);
header('Location: thanking.html');

Я попытался исправить приведенный выше синтаксис.

...