php メール送信失敗の解決策: 1. php.ini で適切な SMTP サーバー アドレスとポート情報を構成します; 2. sendmail プログラムを使用してメールを送信します。
この記事の動作環境:linux5.9.8システム、PHP7.1バージョン、Dell G3コンピュータ
php メール 失敗した場合はどうすればよいですか?
メール送信時の PHP エラー
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in
解決策:
PHP のメール機能の使用 SMTP サービスは電子メールを送信します。つまり、php.ini で適切な SMTP サーバーのアドレスとポート情報を設定する必要があります。このマシン (
SMTP = localhost smtp_port = 25
) で電子メールを送信する必要がある場合は、自分のマシンで SMTP サービスを構成する必要があります。 IIS の SMTP サービスを開いてみることができます。
php の mail() 関数は、sendmail プログラムを使用して電子メールを送信し、sendmail -t -i は通常、Linux/UNIX システムの組み込みプログラムですが、Windows システムではにはこのプログラムがないため、mail() 関数を直接使用して電子メールを送信することはできません。
Windows でメールを送信するには mail() を使用します
1. 電子メール送信システムには SMTP サービスが必要です。 「Windows Server 2003」に「SMTP サービス」コンポーネントをインストールします:
A. 「Windows コンポーネントの追加と削除」->「アプリケーション サーバー」->「インターネット インフォメーション サービス (IIS)」の [詳細] をクリックします。
B.「SMTP サービス」を選択してインストールします。
2. SMTP を設定します:
A. 「インターネット インフォメーション サービス (IIS) マネージャー」を開き、「既定の SMTP 仮想サーバー」を見つけます。
B. サービスを右クリックし、[プロパティ] を選択します。
C. ポップアップの [デフォルトの SMTP 仮想サーバーのプロパティ] ボックスで、[アクセス] エントリをクリックし、[認証] ボタンを選択します。
D. ポップアップの [認証] ボックスで、[匿名アクセス] のみを選択し、他は何も選択しないでください。
E. 「アクセス」テーブル項目に戻り、「リレー」ボタンを選択し、ポップアップされた「リレー制限」ボックスの「追加」ボタンをクリックして、IP アドレス 127.0.0.1 を追加します。
3.「php.ini」を変更します:
---------------------------------
[mail function] ; For Win32 only. SMTP = localhost smtp_port = 25 ; For Win32 only. sendmail_from = me@example.com
---------------------------------
4. このプログラムを実行すると、 「$toaddress」にログインし、メールボックスを表示してメールを確認します。
$toaddress = 'xuzhang@mascatv.com'; $subjects = 'test the php mail'; $mailcontent = 'Onlu test the php mail!'; $fromaddress = 'From: me@localhost.com'; mail($toaddress,$subjects,$mailcontent,$fromaddress);
推奨学習: 「PHP ビデオ チュートリアル 」
以上がphpメールが送信できない場合の対処法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。