2

最近ウェブサーバーをアップグレードしましたが、最初に遭遇した問題の 1 つは、ウェブサイトが会社の Exchange サーバーとは別のサーバーでホストされていたため、同じドメインへの送信に問題があったことでした。とにかく、いくつかの単純な構成変更とドメインのメールサービスの無効化であると修正しました。

とにかく、それは機能していませんが、Web サイトでいくつかの PHP メールフォームをテストしていたときに気付かなかったのは、それらがすべて私のメールアドレスとしてクライアントに送信されているということでした。

これはPHPです(問題はないと思います)

<?php
    ini_set("sendmail_from", "noreply@******.com"); 

    $name       = $_POST['name'];
    $email      = $_POST['email'];
    $phone      = $_POST['phone'];
    $comments   = $_POST['comments'];
    $ip=$_SERVER['REMOTE_ADDR'];

    $recipient  = '*****@******.com';
    $subject    = "Comments submitted from the Contact Us form on www.wavesfm.com from $name" ;

    $message   = "This is an email submitted from the Contact Us form on the website www.*****.com containing details from $name \n";
    $message  .= "    \n";
    $message  .= "Name: $name \n";
    $message  .= "Email: $email \n";
    $message  .= "Phone Number: $phone \n";
    $message  .= "Comments: $comments \n\n\n";
    $message  .= "IP Address: $ip ";

    $headers   = "From: noreply@********.com \n";
    $headers  .= "Reply-To: $email";

    mail($recipient,$subject,$message,$headers);
    header( 'Location: http://www.*****.com/thanks.php' ) ; 
?>

誰でもそのコードの問題を見ることができますか? -fnoreply@ * *.com を送信パラメーターとして追加しようとしましたが、自分のメール アドレスが送信者として表示されることはありません。

これは PHP の問題ではなく、Postfix の問題のように思えますが、本当に気になるのは、どこにも使用されていない私のメール アドレスが送信者として表示されることです。

誰もこれを経験したことがありますか?2週間前と同じように、Postfixをまったく使用していなかったので、まったく新しいものでした。

ウェブサーバー: Cent OS、Plesk 11.0.9

メール サーバー: MS Exchange メール サーバー / ORF の使用

いずれかのメールの Postfix ログ

3 月 27 日 13:48:41 専用の postfix/pickup[12199]: 652EFA106C5: uid=48 from= Mar 27 13:48:41 専用の postfix/cleanup[14376]: 652EFA106C5: message-id=<20130327134841.652EFA106C5@dedicated.mydomain .com> 3 月 27 日 13:48:41 専用の postfix/qmgr[12198]: 652EFA106C5: from=、size=726、nrcpt=1 (キューがアクティブ) 3 月 27 日 13:48:41 専用の postfix/smtp[14378]: 証明書mail.mydomain.com [82.888.888.51] の検証に失敗しました:25: 信頼されていない発行者 /CN=clientdomain-WAV01-CA 3 月 27 日 13:48:42 専用の postfix/smtp[14378]: 652EFA106C5: to=、relay=mail。 client_website.com[82.888.888.51]:25、遅延=0.89、遅延=0.04/0.01/0.36/0.48、dsn=2.6.0、ステータス=送信 (250 2.6.0 <20130327134841.652EFA106C5@dedicated.mydomain.com> [ InternalId=11846] 配信のためにキューに入れられたメール) 3 月 27 日 13:48:42 専用の postfix/qmgr[12198]: 652EFA106C5: 削除されました

4

2 に答える 2

2

次のコードでは、文字列連結の問題が発生する可能性があります。

$headers = "From: noreply@********.com \n";

試す

$headers = "From: noreply@********.com \r\n";

広く使用されているメール送信用の phpmailer クラスを使用することをお勧めします: https://github.com/Synchro/PHPMailer

于 2013-03-27T13:26:32.157 に答える
0

php.ini sendmail_fromディレクティブは、実際には Windows ボックスにのみ適用されます

sendmail_from 文字列 Windows で PHP から送信されるメールで使用する "From:" メール アドレス。このディレクティブは、"Return-Path:" ヘッダーも設定します。

コード自体の問題ではないと思います。Linux ボックスで webserver+php 環境を実行しているユーザーは誰ですか? 自分で実行している場合は、おそらくメールアドレスを使用して postfix に送信されます。

postfix を使用している場合は、/var/log/maillog を末尾にすることを忘れないでください。これにより、多くのことがわかり、問題の真相を突き止めることができます。

sudo tail -f /var/log/maillog

Sendgridで無料アカウントにサインアップし、PHPMailer、Zend Mailer、または Symfony Mailer ライブラリと組み合わせて、それを使用してメールを送信し、同じ問題が発生するかどうかを確認してみてください。

于 2013-03-27T13:39:23.240 に答える