2011-02-10 7 views
0

私は1つのホスト上で完璧に動作するPHPメールスクリプトを持っています。ただし、ネットワークソリューションホストで同じスクリプトを使用しようとすると、この関数はtrueを返しますが、電子メールは送信されません。PHPメールを使用する()

//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 = "[email protected]"; 
$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"; 
     } 
?> 

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

答えて

0

一部のホストにこの問題があります。鉱山(モッソ)で、私はそうのように(から)最後のパラメータを調整する必要がありました:

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

はNetSolのためのソリューションが、試してみる価値はないかもしれません。私はいくつかのホストがスクリプトを無効にし、メールを送信するためにsmtpクラスを使用する必要があることを知っています。

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

2

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

+1

これはこれです。送信された可能性もありますが、受信メールサーバーによって迷惑メールとして破棄されます。これは特に、送信側のサーバがメールに指定された 'from'アドレスに関連付けられていない場合 –

関連する問題