php mail function ..... Я получаю вывод как "mail fail". не могли бы вы помочь мне сделать это - PullRequest
0 голосов
/ 02 декабря 2009
<?php
//define the receiver of the email
$to = 'pradz39@gmail.com';
//define the subject of the email
$subject = 'Test email';
//define the message to be sent. Each line should be separated with \n
$message = "Hello";
//define the headers we want passed. Note that they are separated with \r\n
$headers = "From: webmaster@example.com\r\nReply-To: webmaster@example.com";
//send the email
$mail_sent = mail( $to, $subject, $message, $headers );
//if the message is sent successfully print "Mail sent". Otherwise print "Mail failed" 
echo $mail_sent ? "Mail sent" : "Mail failed";
?>

Я использую xampp для Windows. Вы можете помочь мне настроить SMTP-сервер .....

вывод

Предупреждение: mail () [function.mail]: не удалось подключиться к почтовому серверу через порт «localhost» 25, проверить настройки «SMTP» и «smtp_port» в php.ini или использовать ini_set () в D: \ Installed \ xampp \ htdocs \ mail.php в строке 13 Почта не удалась

Ответы [ 4 ]

1 голос
/ 02 декабря 2009

PHP mail () нужен сервер ретрансляции почты для фактической отправки почты. На хостинг-провайдерах среда предварительно настроена и готова к использованию.

Это возможные решения для вас.

  • В вашем случае вы должны проверить, поставляется ли ваш пакет xampp с почтовым сервером и настроить / запустить его
  • Если он не поставляется с почтовым сервером, необходимо настроить инструкции SMTP-сервера IIS на http://support.microsoft.com/kb/230235
  • Или загрузите и установите бесплатный сервер Smpt, такой как Argosoft
  • Вы также можете использовать пакет php, который может напрямую подключаться к SMTP с поддержкой аутентификации и использовать ваш реальный сервер Smpt (hotmail, Yahoo и т. Д., ISP) для ретрансляции. Это можно сделать с помощью PHPMailer , и это сработало и у меня.
1 голос
/ 02 декабря 2009

попробуйте удалить "@". Я пробовал этот пример кода, в котором я получаю данные из формы ввода. есть еще один метод, использующий SMTP, если вы знаете учетные данные SMTP-сервера, вы можете использовать и этот способ. Вот образец;

0 голосов
/ 02 декабря 2009

Это зависит от среды, например, от того, где находится мой сайт. Я полагаю, функция почты отключена и не работает. Итак, я использую SMTP и использую почтовый сервис Google для корпоративных пользователей.

0 голосов
/ 02 декабря 2009

Убедитесь в правильности настроек sendmail в файле php.ini. Предполагая, что вы работаете * nix:

SMTP = myserver.localnet.com   
sendmail_from = me@localhost.com  
sendmail_path = /usr/sbin/sendmail

Есть несколько ошибок с почтой (). См. StackOverflow сообщение для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...