ホームページ > バックエンド開発 > PHPチュートリアル > [PHP] メール送信時に mail() 関数が失敗する (sendmail コマンドと postfix)

[PHP] メール送信時に mail() 関数が失敗する (sendmail コマンドと postfix)

little bottle
リリース: 2023-04-05 22:00:01
転載
2706 人が閲覧しました

1. PHP の mail() 関数は電子メールを送信できますが、テストが成功したことはありません。その理由を要約しましょう:

PHP のメール関数は sendmail コマンドに基づいており、これをインストールする必要があります。 postfix ソフトウェア

2. PHP 設定項目 sendmail_path を確認します。これは、メール関数によって呼び出される基礎となるコマンドです。php -i|grep sendmail

3インストール sendmail コマンド、apt-get install postfix を使用できるのは postfix ソフトウェアのみです。

ソフトウェアのインストールが完了したら、コマンド ラインで正常に送信できるかテストします。

eml テキストを作成します。ファイルの内容は、メインの電子メール プロトコル ヘッダー


Subject: title-testing
From: shihan2@sopans.com
To: 630892807@qq.com
Sorry, I'm testing. ~_~
ログイン後にコピー


 /usr/sbin/sendmail -t -i -f shihan2@sopans.com < 2.eml
ログイン後にコピー

-f パラメーターの後に from 値が続きます。対応関係が一致しない場合は、一致します。エラーが報告された場合は、ログ ファイル /var/log/mail.log をチェックして、エラーの原因と成功したかどうかを確認できます。

##From の値が一致しない場合、ログに表示される情報

#送信成功後の対応する情報、250ok

#4. php 設定ファイルを変更し、php 関数を使用してレターを送信します

この設定ファイル /etc/php/7.0/cli/php.ini を変更しました。テスト中に、これを電子メール アドレスから書き込まなかった場合、送信は失敗し続け、 501 Syntax: MAIL FROM:
(in Reply to MAIL FROM command)) というプロンプトが表示され、 からのメールとからの文字が互いに対応していません

構成を確認してください

php ファイル

<?php
$to=&#39;630892807@qq.com&#39;;
$subject = &#39;测试一下&#39;;
$message = &#39;我来测试&#39;;
$headers[] = &#39;From: shihan2@sopans.com&#39;;
mail($to, $subject, $message, implode("\r\n", $headers));
ログイン後にコピー
テスト成功


関連チュートリアル:

PHP プログラミングに関するビデオ チュートリアルの完全なセットエントリーからマスターまで

#

以上が[PHP] メール送信時に mail() 関数が失敗する (sendmail コマンドと postfix)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:cnblogs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート