0

1 つのホストで完全に動作する php メール スクリプトがあります。ただし、ネットワーク ソリューション ホストで同じスクリプトを使用しようとすると、関数は 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";
        }
?>

異なるホストがメールスクリプトで特定の情報を必要とするかどうかを知っている人はいますか?

4

3 に答える 3

2

これは Network Solutions カスタマー サポートへの質問です。通常、共有ホスティング サーバーからのメールの送信は十分にロックされています。また、 の呼び出しmailは、メッセージが に正常に渡されたことを意味するだけsendmailであり、メールがサーバーを離れたことを意味するわけではありません。送信待ちの列に並んでいる可能性もあれば、制御不能な理由でバウンスした可能性もあります。

于 2011-02-10T08:32:27.757 に答える
0

PHPメールが有効になっていない可能性がありますが、ホストに詳細を尋ねてください。

コードを見ると、入力が十分にクリーンアップされていません。ここでis_forbidden関数を見てください:http: //thedemosite.co.uk/phpformmailer/source_code_php_form_mailer_more_secure_than_cgi_form_mailers.php

于 2011-02-10T08:37:17.720 に答える
0

一部のホストにはこの問題があります。私の(Mosso)では、最後のパラメータ(from)を次のように調整する必要がありました。

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

NetSol のソリューションではないかもしれませんが、試してみる価値はあります。一部のホストはスクリプトを無効にしており、smtp クラスを使用してメールを送信する必要があります。

もちろん、これは DNS と MX レコードがすべて正しいことを前提としています。送信元のドメインとは異なるアカウントから送信しようとしている場合、一部のプロバイダーはそれを自動的にブロックします。

于 2011-02-10T08:32:17.303 に答える