2012-05-04 9 views
0

私のフォームの1つの電子メール送信をテストするために使用しているPHPコードです。それはうまくいくが、何らかの理由で @ localhost.mydomain.comを送信者の電子メールアドレスに付加する。ここに例があります:PHPはoutgoing電子メールにlocalhostを追加します

From: James <[email protected]@localhost.mydomain.com> 

以下は完全なコードです。

<?php 
     $email = sqlEscape($_POST['email']); 
     $name = sqlEscape($_POST['name']); 
     $to = '[email protected]'; 
     $subject = 'Email From website'; 
     $message = 'The message here'; 

     $headers = 'From: "'.$name.'" <"'.$email.'">' . "\n"; 
     $headers .= 'MIME-Version: 1.0' . "\n"; 
     $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n"; 

     if(mail($to, $subject, $message, $headers)){        

      echo('Message sent successfully');      
     }else{ 
      echo('<a href="contact.php">Click here</a> to try again.');  
     } 
?> 

追加しないでください。ありがとう

+0

'sqlEscape()'なしで試してみましたか? – Leri

+0

なぜあなたはsqlEscapeの何らかの形になっていない何かをsqlEscapeします – Anigel

+2

'$ email'の値はあなたがそれを送る前に何ですか?どのSMTPサービスを使用していますか? SMTPサーバーには、実際のアウトバウンドドメインを中継アドレスのfromヘッダーに追加するポリシーが設定されている場合があります。 –

答えて

0

お試しください: ini_set(sendmail_from,$_POST['email']);

mail()関数呼び出しの前にこの行を追加します。

+0

これはWindowsのみです。 OPはUbuntuにあります。 –

+0

ああ、投稿したときに気付かなかった。私は別のフォーラム投稿を見つけました:http://serverfault.com/questions/119105/setup-ubuntu-server-to-send-mail#answer-289290 –

+0

Thanks Mark、私はそれをチェックアウトします。 –

関連する問題