Использование PHP mail () - PullRequest
       3

Использование PHP mail ()

0 голосов
/ 10 февраля 2011

У меня есть скрипт php mail, который отлично работает на одном хосте.Однако, когда я пытаюсь использовать тот же сценарий на хосте сетевых решений, функция возвращает true, но электронное письмо никогда не отправляется.

//get mail function data
$case = $_POST['case'];
$to = addslashes(strip_tags($_POST['to']));
$message = addslashes(strip_tags($_POST['message']));
$subject = addslashes(strip_tags($_POST['subject']));
$message = addslashes(strip_tags($_POST['message']));
$from = "confirmation@website.co";
$headers = "From: $from\r\n";

//send email
        if (mail($to,$subject,$message,$headers)){
            //formatting for error message
            $emailSent = "block";
            $emailFailed = "none";
        }
        else //if the email fails to send
        {

            $emailSent = "none";
            $emailFailed = "block";
        }
?>

Кто-нибудь знает, требуется ли для разных хостов конкретная информация в почтовом скрипте?

Ответы [ 3 ]

2 голосов
/ 10 февраля 2011

Это вопрос для поддержки клиентов Network Solutions. Отправка почты с серверов общего хостинга, как правило, хорошо блокируется - если они вообще это разрешают, она регулируется. Кроме того, вызов mail означает, что сообщение было успешно передано sendmail, а не то, что почта когда-либо покидала сервер. Он может находиться в очереди на отправку, он мог отскочить по миллиону не зависящих от вас причин и т. Д.

0 голосов
/ 10 февраля 2011

Возможно, что они не включили php mail, но спросите у хоста подробности.

Глядя на ваш код, вы не достаточно очищаете ввод.взгляните на функцию is_forbidden здесь: http://thedemosite.co.uk/phpformmailer/source_code_php_form_mailer_more_secure_than_cgi_form_mailers.php

0 голосов
/ 10 февраля 2011

Некоторые хосты имеют эту проблему. На моем (Моссо) мне пришлось настроить последний параметр (из) следующим образом:

mail($to, $subject, $message, $headers, "-f".$from)

Возможно, это не решение для NetSol, но стоит попробовать. Я знаю, что некоторые хосты отключают скрипт и требуют использования класса smtp для отправки почты.

Предполагается, конечно, что все правильно с вашими записями DNS и MX. Если вы пытаетесь отправить сообщение из учетной записи, отличной от домена, из которого отправляется, некоторые поставщики автоматически заблокируют это.

...