ホームページ  >  記事  >  バックエンド開発  >  PHP mail() 関数はメール送信メソッドを実装します_PHP チュートリアル

PHP mail() 関数はメール送信メソッドを実装します_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-15 13:34:25993ブラウズ

ほとんどの Web サイト開発者は

電子メールを送信するスクリプトは、おそらく Web サイトで見つけることができる最も一般的なスクリプトの 1 つです。これは単純ですが、場合によっては非常にイライラさせられます。プログラマの皆さん、PHP には PHP mail() という関数があります。これは受信者のアドレスとメールの本文を知るだけで済みますが、mail() を希望どおりに機能させるにはまだいくつかの問題を解決する必要があります。 . 質問:

PHP mail() 関数が機能するには、PHP が接続できるように SMTP サーバーが必要です。このサーバーがメール プログラムにとってどれほど重要であっても、ほとんどの人はまったく知りません。この記事の仕組み このチュートリアルでは、SMTP の秘密を明らかにし、PHP を使用した電子メール送信に関するいくつかの一般的な問題を解決します。この記事の他のトピックには、アドレス リストをループして電子メールを送信する方法が含まれます。 Method.

SMTP は Simple Mail Transfer Protocol の略で、SMTP サーバーはこのプロトコルを実行し、電子メールを送信するコンピューターです。このプロトコルを実行すると、Sendmail や HTML などのプログラムが実行されます。 Qmail プログラム - Windows プラットフォームでは、Windows NT Service Pack の一部であるか、Windows 2000 に組み込まれている SMTP サービス プログラムが一般的なプログラムではありません。これらの SMTP ソフトウェア パッケージしかありませんが、Web サイトでインターネット サービス プロバイダーの仮想ホスティング パッケージの一部を使用している場合、システム管理者であれば SMTP サーバー プログラムがすでにインストールされているはずです。 ISP のコンピューターまたは屋内のコンピューターでは、Web サーバーからの電子メールの送信プロセスを処理するために、このコンピューターに何らかの SMTP ソフトウェアがインストールされている可能性があります。

ただし、個人ユーザーであり、開発用の Web しか持っていない場合は、パーソナル コンピュータ上でサービス プログラムが実行されている場合、マシン上で SMTP ソフトウェアが実行されていない可能性があります。これは非常に単純ですが正確な経験則です。Windows ユーザーで SMTP サーバーという単語を一度も見たことがない場合は、SMTP ソフトウェアが実行されていません。プログラムがない場合は、SMTP サーバー プログラムをインストール、構成、維持する (何が起こっているのかわからない場合にはこの方法はお勧めしません) か、既存の SMTP サーバーを使用する 2 つのオプションがあります。 「サーバーが現在実行されていない場合、どうすれば使用できますか?」 コンピュータがダイヤルアップ接続 (または DSL またはケーブル) 経由でインターネットに接続されている場合は、ISP の送信メール サーバーを使用できます。たとえば、開発コンピュータが Windows 98 システムで 56kbps を使用し、モデムが EarthLink 経由でインターネットに接続されている場合、送信メール サーバーにどのメール クライアントを使用していても、SMTP サーバーとして mail.earthlink.net を使用できます。 (Eudora、Outlook、Netscape Mail など)、これらはすべて、SMTP サーバーを使用する PHP コードと同じプロセスになります。その秘訣は、php.ini 管理構成で PHP にそれについて少し認識させることです。ファイルには、PHP mail() 関数を正常に実行できるように設定する必要があるエントリがいくつかあります。それらを変更する前に、phpinfo() 関数を使用してシステムの現在の構成を表示できます。ファイルを作成すると、このファイルには次のものが含まれます:

このファイルを Web サーバーのファイル ルート ディレクトリに保存し、ブラウザからアクセスすると、次のことが表示されます。確認する必要があるエントリは次のとおりです。 Windows を使用していない場合、心配する必要があるのは sendmail_path ディレクティブだけです。 Windows を使用している場合は、最後の 2 つのコマンドを確認する必要があります。

Linux または Unix バリアントを使用している場合、sendmail_path は次のようになります:

sendmail_path = /usr/sbin/sendmail

、または Qmail を使用している場合:

sendmail_path = /var/qmail/bin/sendmail

PHP mail() 関数のこのコマンドでは、次のように、キュー バッファリング オプションを示す構成パラメーターを設定したり、Return-Path ヘッダーを明示的に設定したりすることもできます。 sendmail_path = /usr/ sbin/sendmail -t -fyou@yourdomain.com

Windows 以外のユーザーが行う必要があるのはこれだけです。Windows を使用している場合は、さらに行う必要があります。 SMTP と sendmail_from の値を見てください。sendmail_from コマンドの名前にある sendmail に混同しないでください。Windows では Sendmail という名前のプログラムを使用しませんが、これは単なるコマンドの名前です。

phpinfo () で、SMTP と sendmail_from のデフォルト値を確認してください。これらは空白であるか、ランダムな値が含まれています。

これを使用することに決めている場合は、それらを変更する必要があります。コンピュータ php.ini ファイルで SMTP サーバー プログラムを実行するには、php.ini ファイルのエントリは次のようにする必要があります:

SMTP = localhost

ただし、ISP の送信メール サーバー (この場合は EarthLink)、php.ini 内のメールは次のようになります:

SMTP = mail.earthlink.net

コンピューターは 2 つのエントリを区別しないため、ドメイン名の代わりに IP アドレスを使用することもできます。

2 番目の構成ディレクティブは、電子メールに設定する必要があります。 From ヘッダーのアドレスはスクリプトで変更できますが、通常はデフォルトとして使用されます。 youraddress@yourdomain.com は自分のメール アドレスを指します。

PHP mail() 関数を使用してこれらの設定を変更した後、Web サーバーを再起動し、phpinfo() 関数を使用して変更を確認します。これらのタスクが完了したら、PHP を使用して電子メールを送信できます。


http://www.bkjia.com/PHPjc/445994.html

www.bkjia.com

http://www.bkjia.com/PHPjc/445994.html技術記事ほとんどの Web サイト開発者は、Web サイトで最も一般的なスクリプトの 1 つである電子メールを送信するスクリプトを使用し始めます。これは、単純ではありますが、場合によっては...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。