ホームページ >バックエンド開発 >PHPの問題 >phpのメール機能を使ってメールを送信しても受信できない場合はどうすればよいですか?

phpのメール機能を使ってメールを送信しても受信できない場合はどうすればよいですか?

王林
王林オリジナル
2021-06-10 13:58:212709ブラウズ

PHP のメール機能を使用して電子メールを送信するときに電子メールが受信できない問題の解決策: まず、sendmail および sendmail-cf パッケージをインストールし、次に sendmail.mc 構成ファイルを編集して、関連する構成を変更します。新しい構成ファイルを生成し、ターミナルでテストするだけです。

phpのメール機能を使ってメールを送信しても受信できない場合はどうすればよいですか?

#この記事の動作環境: ubuntu 17.04 システム、php 7.3、thinkpad t480 コンピューター。

原因分析:

メールを受信できない理由は、関連する設定が不足している可能性があります。

具体的な手順を見てみましょう。

まず第一に、いくつかのソフトウェアをインストールする必要があります:

ubuntu の sendmail 関数は簡単に電子メールを送信できます。Ubuntu sendmail は最初に 2 つのパッケージをインストールする必要があります

sudo apt-get install sendmail
sudo apt-get install sendmail-cf

注:

Ubuntu で最も一般的に使用されるメール機能を使用するには、mailutils をインストールする必要があります。

インストール コマンド:

sudo apt-get install mailutils

添付ファイル付きの機能を使用するには、次のインストールも必要です。 sharutils,

インストール コマンド:

sudo apt-get install sharutils;(yum install sharutils )

ターミナル入力コマンド:

ps aux |grep sendmail

出力は次のとおりです:

root     20978  0.0  0.3   8300  1940 ?        Ss   06:34   0:00 sendmail: MTA: accepting connections
root     21711  0.0  0.1   3008   776 pts/0    S+   06:51   0:00 grep sendmail

説明 sendmail は正常にインストールされ、開始されました。


インストールされました その後、いくつかの関連設定を行う必要があります

sendmail は、デフォルトではローカル ユーザーにのみ電子メールを送信します。これをインターネット全体に拡張することによってのみ、実際のものになります。メールサーバー。

sendmail 構成マクロ ファイルを開きます: /etc/mail/sendmail.mc

vi  /etc/mail/sendmail.mc

次の行を見つけます:

DAEMON_OPTIONS(`Family=inet, Name=MTA- v4 , Port=smtp, Addr=127.0.0.1')dnl

Addr=0.0.0.0 を変更して、任意のサーバーに接続できることを示します。

新しい構成ファイルを生成します:

#cd /etc/mail
#mv sendmail.cf sendmail.cf~      //做一个备份
#m4 sendmail.mc > sendmail.cf   //>的左右有空格,提示错误没有安装sendmail-cf
$ sudo vim /etc/php5/apache2/php.ini

「;sendmail_path」という文を見つけてコメント「;」を削除し、sendmail 起動ディレクトリを追加します

sendmail_path = / usr/ sbin/sendmail -t -i

理論的には、ここで電子メールを送信できます。

最後に、ターミナルで設定が成功したかどうかをテストできます:

ターミナルで電子メールを送信する一般的な方法は次のとおりです:

一般的なメールの書き方電子メール: mail test@126.com Cc 編集済みコピー 送信オブジェクト、件名: 電子メールの件名、Enter を入力、電子メール本文の後に Ctrl-D を押して終了します

クイック送信方法: echo "電子メール本文" | mail -s 電子メールの件名 test@126.com

ファイルの内容を電子メールの本文として送信します: mail -s test test@126.com < test.txt


電子メールを送信添付ファイル付き: uuencode 添付ファイル名 添付ファイルの表示名 | mail - s 電子メールの件名 送信アドレス


関連する推奨事項:

php ビデオ チュートリアル

以上がphpのメール機能を使ってメールを送信しても受信できない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。