ホームページ php教程 php手册 PHPでメールを送る方法(1)

PHPでメールを送る方法(1)

Jun 21, 2016 am 09:02 AM
from mail smtp windows

おそらく

Web サイトシンプルではありますがメール スクリプトはプログラマーにとって非常にイライラすることがあります。PHP にはそのスクリプトがあります。 >mail() の関数 , を呼び出しました。必要なのは受信者のアドレスとレターの本文だけです電子メールを送信するにはしかし、それは mail()である必要があります。これを実行するには、まだいくつかの難しい問題を解決する必要がありますが欲しいです。mail() で動作するには、SMTPサーバーは、PHP が接続できるようにしますこのサーバーがメール プログラムにとってどれほど重要であってもほとんどの人は、それがどのように機能するのかまったく知りませんこのチュートリアルでは SMTP の秘密を明らかにし、PHP を使用した電子メール送信に関するいくつかの一般的な問題を解決します。 この記事の他のトピックには、アドレス リストをループし、テキストと HTML 形式の両方で受信者に電子メールを送信する方法が含まれます .
SMTP
は、Simple Mail Transfer Protocol、および 1 つの SMTPA の略称です。サーバーは、このプロトコルを実行し、電子メールを送信するコンピューターです このプロトコルの実行とは、実際には Sendmail のようなものを実行することを指します。 および Qmail プログラム -- 以外の を使用している場合Windows コンピュータ. 上の WindowsプラットフォームWindows NT Service Packの一部として利用可能、またはWindows 2000内部に組み込まれていますSMTP サービス プログラムは、典型的なプログラム です。SMTP パッケージが パッケージだけであると言っているわけではありませんが、これらは最も一般的なものです .Web サイトがインターネット サービス プロバイダーの仮想ホスティング パッケージ ) の部分を使用している場合 の場合、SMTP サービス プログラムがこのコンピュータにインストールされているはずです.あなたが ISP または屋内 にあるコンピューターのシステム管理者である場合は、何らかの を持っている可能性が高くなります。 SMTPソフトウェアは、Webからのリクエストを処理するためにこのコンピュータにインストールされています。サーバーのプロセスメールを送信

ただしあなたが ユーザー で、開発が 1 つだけである場合 Webサービス プログラムはあなたのパーソナル コンピュータで実行されますあなた自身のマシン では SMTPソフトウェア を実行していない可能性があります。 .これは非常に単純ですが正確な経験則です:Windows の場合、ユーザーはSMTPserverという単語を見たことがなければ、このプログラムは実行されていません。 がない場合は、2 つのオプションがあります:インストール を構成し、SMTP サービス プログラム ( を維持する場合)何が起こっているのかわかりません。この方法 ) を使用したり、既存の SMTPサーバー を使用したりすることはお勧めできません。

。"
如果一个服务器现在没有运行的话,我又怎么使用它呢?"你可能要问.如果你的计算机是通过拨号连接(或是DSL或电缆)连到互联网的话,你可以使用你ISP的外发邮件服务器.例如,如果你开发用的 计算机是一个Windows98的系统并使用56kbps modem通过EarthLink连接到互联网,那么你就可以使用mail.earthlink.net作为你的SMTP服务器.不论你对你的外发邮件服务器使用什么样的邮件客户端(Eudora, Outlook, Netscape Mail等等),它们都将和你的SMTP サーバーを使用する PHP コードのプロセスは、 を使用することと同じです。 🎜>PHPいくつかの事実を知ってください.

php.ini
で管理されています構成ファイル には、mail() 関数が正常に実行できるように設定する必要があるエントリがいくつかあります 変更する前にそれらの用途を確認してくださいを使用できます。 🎜 >phpinfo() 関数は、システムの現在の構成を表示するファイルを作成します このファイルには :phpinfo(
) ?>
このファイルを保存Web サービス プログラムのファイル ルート ディレクトリに配置します 次に、ブラウザ からアクセスします。美しくフォーマットされたメッセージが表示されます configuration.表示するエントリは次のとおりです:

SMTP
sendmail_from
sendmail_path
Windows を使用していない場合は、 sendmail_path について心配する必要があるのは コマンドだけです。Windows を使用している場合は、を行う必要があります。最後の 2 つの命令 を見てください。

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

sendmail_path = /usr/sbin/sendmail

または Qmail:

sendmail_path = /var/qmail/bin/sendmail
このコマンドでは、キュー バッファリング オプションや表示設定を示す構成パラメータを設定することもできますReturn-Path ヘッダー は次のとおりです:

sendmail_path = /usr/sbin /sendmail -t -fyou@yourdomain.com

WindowsユーザーやるべきことはこれだけですWindows を使用している場合は、他にもやるべきことがあります . SMTPsendmail_from. をコマンド名の に置き換えないでください >sendmail は混同されています .Windows では名前を使用していませんが、Sendmail というプログラム しかし、それはコマンド の名前にすぎません。 に怖がらないでください .phpinfo(), SMTPsendmail_from-- これらは空白の であるか、ランダムな値が含まれている です。意味のある値に変更する必要があります の値.
このコンピュータ 🎜> で
SMTPサービス プログラムphp.ini ファイルのエントリは次のようになります:SMTP = localhost

ただし、

ISP( この例ではは EarthLink) の送信メール サーバー, の場合、php.ini は次のようになります:SMTP = mail.earthlink.net
コンピュータはこれら 2 つを区別しないため、ドメイン名の代わりに IP アドレスを使用することもできますエントリ.

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

sendmail_from = youraddress@yourdomain.com

これらの構成変更を行った後 Web サービス プログラムを再起動し、phpinfo() を使用します。これらの変更を検証する関数 .これらのタスクが完了したら,PHP メールを送信しに来ています.

mail()
関数は非常に単純です: にはパラメータが 5 つだけあります、そのうちの 2 つはオプションです.パラメータは :

受信者アドレス
件名
メッセージ内容
その他のファイルヘッダー( オプション)
SMTP
サービス プログラムのその他の構成オプション(オプション)

追加のヘッダー パラメーターは、CC、BCC、Reply-To などの電子メール機能を制御します。または、SMTP プロトコル. に従う他の関数 (この例では ,I) From および Reply-To ヘッダー のみを使用します。

私に電子メールを送信したいが、Windows システム 以外を使用している場合は、 プログラムコードは次のようになります:

$to = "julie@thickbook.com";
$subject = "ZDNet 開発者記事";
$msg = "SMTP サーバーについて完全に理解しました!";
$headers = "差出人: me@mycompany.comnReply-宛先: someelse@mycompany.com" ;
$ config = "-fwebmaster@mycompany.com";
mail("$to", "$subject", "$msg", "$ headers", "$ config");
echo "finished!";
?>

に基づくサーバーを使用している場合 WindowsSMTP service, の場合、5 番目のパラメータを使用する必要はありません。 、および追加ヘッダー情報パラメータ ( は 4 番目のパラメータ )、 それらを区切って、-- を記述する必要があります。n の代わりに rn を使用します。 したがって、 同じメールが、WindowsSMTP サービスを通じて送信されます。 🎜> コードは次のとおりです:
$to = "julie@thickbook.com";
$subject = "ZDNet 開発者記事";
$
msg = "SMTP サーバーについて完全に理解しました!";$headers = "差出人:
me@mycompany.comrnReply-宛先: someelse@mycompany.com" ;mail ("$to", "$subject", "$
msg", "$headers");echo "finished!";
?> >
スクリプト内の echo ステートメントにより、Web ブラウザーにスクリプトの完了が表示されます。 message.echo ステートメント, を書かないと、出力がないため、"空のファイル" のダイアログ ボックス を取得しますブラウザ側に送信できます.

指定されたSMTPサーバーmail () 関数は true 値を返します.しかし、これは電子メールが受信者に正常に届いたことを意味するものではありません .mail() 関数は、SMTPサーバー/ を待機したり、成功を報告したりしません。 エラー コード.
mail()
関数は、偽の値 を返し、警告を表示する場合があります"接続できません (行 x" または "不明なエラーx。" の場合これら 2 つのメッセージのいずれかが と表示される場合は、php.ini >SMTP を確認する必要があります。 🎜> value.これらのメッセージが発生する可能性は 2 つあります: SMTPサーバーがダウンしています または PHP. に接続できません。どちらの場合でも、メールは送信できません.
このスクリプトは、これらのパラメータ にハードコードされた値を使用します。 は、単純な HTML フォームを使用します これらのパラメータにいくつかの値を挿入すると、優れたフィードバック フォームを作成できます。

1回あなたは 1 人にメールを送信する方法を知っています 同じメールを多くの受信者に送信すると 圧倒されてしまうかもしれません -- は、ニュースレター のような と同じです。これにはすべて、受信者リストを反復処理して電子メールを送信する優れた軽量ループが含まれます.mail関数の形式は同じです :



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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Windows 7にMySQLをインストールできますか? Windows 7にMySQLをインストールできますか? Apr 08, 2025 pm 03:21 PM

はい、MySQLはWindows 7にインストールできます。MicrosoftはWindows 7のサポートを停止しましたが、MySQLは引き続き互換性があります。ただし、インストールプロセス中に次のポイントに注意する必要があります。WindowsのMySQLインストーラーをダウンロードしてください。 MySQL(コミュニティまたはエンタープライズ)の適切なバージョンを選択します。インストールプロセス中に適切なインストールディレクトリと文字セットを選択します。ルートユーザーパスワードを設定し、適切に保ちます。テストのためにデータベースに接続します。 Windows 7の互換性とセキュリティの問題に注意してください。サポートされているオペレーティングシステムにアップグレードすることをお勧めします。

PSの負荷速度をスピードアップする方法は? PSの負荷速度をスピードアップする方法は? Apr 06, 2025 pm 06:27 PM

Slow Photoshopの起動の問題を解決するには、次のような多面的なアプローチが必要です。ハードウェアのアップグレード(メモリ、ソリッドステートドライブ、CPU)。時代遅れまたは互換性のないプラグインのアンインストール。システムのゴミと過剰な背景プログラムを定期的にクリーンアップします。無関係なプログラムを慎重に閉鎖する。起動中に多数のファイルを開くことを避けます。

PSの垂直参照線を引く方法 PSの垂直参照線を引く方法 Apr 06, 2025 pm 08:18 PM

Photoshopで垂直ガイドを引く:ルーラービューを有効にします(ビュー>ルーラー)。マウスをルーラーの垂直エッジの上にホバリングし、次にカーソルが二重矢印を備えた垂直線になり、マウスを保持してドラッグして基準線を引き出します。ガイドをドラッグして[削除]をクリックするか、クロスにホバリングします。

特定のシステムバージョンでMySQLが報告したエラーのソリューション 特定のシステムバージョンでMySQLが報告したエラーのソリューション Apr 08, 2025 am 11:54 AM

MySQLのインストールエラーのソリューションは次のとおりです。1。システム環境を慎重に確認して、MySQL依存関係ライブラリの要件が満たされていることを確認します。異なるオペレーティングシステムとバージョンの要件は異なります。 2.エラーメッセージを慎重に読み取り、依存関係のインストールやSUDOコマンドの使用など、プロンプト(ライブラリファイルの欠落やアクセス許可など)に従って対応する測定値を取得します。 3.必要に応じて、ソースコードをインストールし、コンパイルログを慎重に確認してみてください。これには、一定量のLinuxの知識と経験が必要です。最終的に問題を解決する鍵は、システム環境とエラー情報を慎重に確認し、公式の文書を参照することです。

MySQLを解く方法は、ローカルホストに接続できません MySQLを解く方法は、ローカルホストに接続できません Apr 08, 2025 pm 02:24 PM

MySQL接続は、次の理由が原因である可能性があります。MySQLサービスは開始されず、ファイアウォールは接続をインターセプトし、ポート番号が間違っています。ユーザー名またはパスワードが間違っています。My.cnfのリスニングアドレスは不適切に構成されています。トラブルシューティング手順には以下が含まれます。 2.ファイアウォール設定を調整して、MySQLがポート3306をリッスンできるようにします。 3.ポート番号が実際のポート番号と一致していることを確認します。 4.ユーザー名とパスワードが正しいかどうかを確認します。 5. my.cnfのバインドアドレス設定が正しいことを確認してください。

ターミナルからMySQLにアクセスできません ターミナルからMySQLにアクセスできません Apr 08, 2025 pm 04:57 PM

端末からmysqlにアクセスできない場合は、次の理由があります。MySQLサービスが実行されていません。接続コマンドエラー;許可が不十分です。ファイアウォールは接続をブロックします。 mysql構成ファイルエラー。

MySQLはダウンロード後にインストールできません MySQLはダウンロード後にインストールできません Apr 08, 2025 am 11:24 AM

MySQLのインストール障害の主な理由は次のとおりです。1。許可の問題、管理者として実行するか、SUDOコマンドを使用する必要があります。 2。依存関係が欠落しており、関連する開発パッケージをインストールする必要があります。 3.ポート競合では、ポート3306を占めるプログラムを閉じるか、構成ファイルを変更する必要があります。 4.インストールパッケージが破損しているため、整合性をダウンロードして検証する必要があります。 5.環境変数は誤って構成されており、環境変数はオペレーティングシステムに従って正しく構成する必要があります。これらの問題を解決し、各ステップを慎重に確認して、MySQLを正常にインストールします。

See all articles