6

私のページにフォームがあります。ユーザーが [送信] ボタンをクリックすると、フォームに入力した詳細が記載されたメールが送信されるはずです。最近まで、フォームは Linux サーバーでホストされていましたが、問題はありませんでした。メールは送受信されていました。最近、共有 Windows サーバーに移動する必要がありましたが、移動してからメールが送信されません。メールを送信するコードは次のとおりです。

function send_contact_form($strName, $strEmail, $strPhone, $strMessage)
{
$to = 'mymail@mysite.com';
$subject = 'From the site';
$message =  '<html lang="HE">
            <head>
            <title>
                '.$subject.'
            </title>
            </head>
            <body style="text-align:right; direction:rtl; font-family: Arial;">
                Name: '.$strName.'<br>Email: '
                .$strEmail.'<br>Phone: '.$strPhone
                .'<br><br>Message: <br>'.$strMessage.'
            </body>
        </html>';       
$email = $strEmail;
$header  = 'MIME-Version: 1.0' . "\r\n";
$header .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
$header .= "From: $email\r\nReply-To: $email" . "\r\n";

mail($to, $subject, $message, $header);
}
4

2 に答える 2

7

Windows 環境では、PHP は Linux バイナリ sendmail (または代替) の代わりに SMTP を使用します。

mail() 関数を介して電子メールを送信できるようにするには、このページに従って php.ini を編集する必要があります。

于 2013-06-16T17:22:49.657 に答える
0

Linux では、PHP は sendmail と呼ばれるアプリケーションを使用します。もちろん、Windows には同様のアプリケーションはありません。php.ini ファイルにあるように、メール機能を使用するには、メール サーバーの座標を設定する必要があります。メールサーバーがない場合、PHP からメールを送信することはできません。もちろん、gmail などの外部サーバーを使用することもできます。

于 2013-06-16T17:22:57.343 に答える