質問

メール機能を使用してhtmlをメールアドレスに送信していますが、差出人の名前とメールアドレスが表示されません。これは私のコードです:

$name = $_POST['name'];
$mailTo = 'name@email.com';
$subject = 'Message from ' . $_POST['name'];
$message = 
            '<html>
            <head>
            <title>HTML email</title>
            </head>
            <body>
            <p><b>Name:</b> ' . $_POST['name'] . '</p>
            <p><b>Email:</b> ' . $_POST['email'] . '</p>
            <p><b>Message:</b> ' . $_POST['mainmessage'] . '</p>
            </body>
            </html>';

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: Postmaster <some@body.com>';

mail($mailTo, $subject, $message, $headers);

メールはsome@body.comというメールアドレスのPostmasterからのものとして表示されるはずですが、ホスティングプロバイダーであるideapale@box486.bluehost.comからのものとして表示されます。

正しくセットアップされなかったものは何ですか?

役に立ちましたか?

解決

クリス、\r\nの後に<some@body.com>を追加してみてください。メールサーバーと通信する場合、phpは非常にうるさいことがわかりました。

編集:少しだけ手助けするために、作業スクリプトの1つにこれ(ほぼ正確にあなたが持っているもの)があります:

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'To: '.$to . "\r\n";
$headers .= 'From: ' .$from. "\r\n";

...ここで$from = $fromname.' <'.$fromemail.'>';および$ toは単なるメールアドレスです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top