検索
ホームページバックエンド開発PHPチュートリアルPHP 学習メモ 1: 誰があなたの mail() に手を加えたのか、PHP?_PHP チュートリアル

PHP でメール送信関数を作成すると、次のような非常に奇妙な問題が発生します。 警告: mail(): "localhost" ポート 25 でメールサーバーに接続できませんでした。php.ini の "SMTP" と "smtp_port" 設定を確認するか、....
で ini_set() を使用してください。 もちろん、この赤色は Web ページ上に表示されるものではなく、単なる説明ですが、表示される色を設定することもできます。

関連する技術ブログを含め、インターネットで関連する回答を検索しましたが、そのほとんどが php.ini の [メール機能] 関数を変更して SMTP の関連機能を開くというものでした。詳細な変更点は次のとおりです:
【メール機能】
SMTP = ローカルホスト
smtp_port = 25
sendmail_from = youremailUsual@domin.com
; このメールは From 側からのものであることに注意する必要があります。
sendmail_path = ""
; 最初は空ですが、後で説明します。
mail_add_x_header = オン
;これはデフォルトでオンになっているため、変更する必要はありません

この時点で、修正が完了したら、Apache を再起動します。もちろん、この操作は CMD で実行しました。
再起動後、ページを更新してもエラーはまだ存在します。

ここでスタックオーバーフローに言及されていましたが、[コントロールパネル] - [管理ツール] でこの項目が見つかりません。Win7 なので、[プログラムの追加と削除] でオンにしました。この時点で、図に示すように、SMTP 項目を開いて設定することができます。スクリーンショット:

訂正:写真を再投稿するのを忘れていましたので、訂正No.7-5です



IIS

正直に言うと、この手順は少し愚かです。PHP については心配する必要はありません。


この経験から学んだ後、smtp プロトコルの詳細な説明について Wikipedia を確認しました。ここをクリックしてください: Simple Mail Protocol
。 戻って、[メール機能] を次のように変更してください:
; 126メールボックスの設定を例に挙げます
SMTP = smtp.126.com
smtp_port = 25
sendmail_from = my126EmailAddress@126.com
sendmail_path = ""
mail_add_x_header = オン

同時に、一貫性を維持するために、プログラム内の $from 変数の値が変更されました。

[前のテストのため、phpinfo() 関数がプログラムに追加されました。実行後、ページ上でメール項目を検索すると、当然、Localhost 値とマスター値があることがわかります。 Localhost Value はプログラム内の値を指し、master Value は php.ini の設定です。 実行後、魔法のエラーは消えましたが、次のエラーが発生しました:
mail(): SMTP サーバーの応答: 553 メールを送信する権限がありません。認証が必要です aaf353e4-8ac5-416e-9cd5-6b54fc592764

その後、QQ、Gamilなどの他のメールアドレスを変更したところ、上記のようなエラーが表示され、それが何を意味するのか理解できました。
このステップでは、成功には程遠いように思えます。クライアントを使用してメールボックス ユーザーを構成したとき、最後のステップで「サーバー認証」をオンにする必要があるかどうかを尋ねられたことを覚えています。最後に、偶然ファイルを見つけました。 sendmail というパッケージをダウンロードします。アドレスは次のとおりです。 その後、PHP のルート ディレクトリに新しいフォルダーを作成し、sendmail という名前を付けます。次に、圧縮パッケージをその中に入れて解凍し、sendmail.ini というファイルを変更します。
;中国の fomus 電子メールプロバイダー 126 を例に挙げます
[メール送信]
smtp_server= smtp.126.com
smtp_port=25
default_domin =126.com
auth_username= メールアドレスの文字 '@' の前の文字列
auth_password= メールボックスへのログインを許可するパスワード
ホスト名= 126.com

その後、同じ場所にある php.ini を変更する必要があります:
SMTP = smtp.126.com
; ここで localhost に変更しても同様で、他のオプションは変更されません。
smtp_port = 25
sendmail_from = my126EmailAddress@126.com
sendmail_path = "あなたのsendmailパス/sendmail.exe -t "
; もちろん、このパスの前半には、PHP インストールのルート ディレクトリが含まれている必要があります。「」を「/」に置き換える必要があると思います。
mail_add_x_header = オン

設定が完了したので、Apache を再起動し、ページを更新すると、プログラムに設定されている $to は独自の 126 および QQ メールボックスであり、もちろんループで送信されるため、エラーは消えます。
デスクトップの右下隅にある QQ に Sanfeng の電子メール プロンプトがポップアップ表示されたのを見て、開いた電子メールの内容がページに入力した内容と一部同じであることがわかりました。ローカルデータベースから読み取られました。

PHP 学習メモ 1: 誰があなたの mail() に手を加えたのか、PHP?_PHP チュートリアル 著者: ティアン・ハオユー

http://www.bkjia.com/PHPjc/478113.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/478113.html技術記事 PHP でメールを送信する関数を作成すると、非常に奇妙な問題が発生します。警告: mail(): ローカルホスト ポート 25 でメールサーバーに接続できませんでした。SMTP と smtp を確認してください...
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHPセッションに保存されているデータをどのように変更しますか?PHPセッションに保存されているデータをどのように変更しますか?Apr 27, 2025 am 12:23 AM

tomodifydatainaphpsession、starthessession withsession_start()、$ _sessiontoset、modify、orremovevariables.1)startthessession.2)

PHPセッションに配列を保存する例を示します。PHPセッションに配列を保存する例を示します。Apr 27, 2025 am 12:20 AM

配列はPHPセッションに保存できます。 1。セッションを開始し、session_start()を使用します。 2。配列を作成し、$ _Sessionで保存します。 3. $ _Sessionを介して配列を取得します。 4.セッションデータを最適化してパフォーマンスを向上させます。

Garbage CollectionはPHPセッションでどのように機能しますか?Garbage CollectionはPHPセッションでどのように機能しますか?Apr 27, 2025 am 12:19 AM

PHPセッションガベージコレクションは、有効期限が切れたセッションデータをクリーンアップするために確率メカニズムを通じてトリガーされます。 1)構成ファイルにトリガー確率とセッションのライフサイクルを設定します。 2)Cronタスクを使用して、高負荷アプリケーションを最適化できます。 3)データの損失を避けるために、ごみ収集の頻度とパフォーマンスのバランスを取る必要があります。

どのようにしてPHPでセッションアクティビティをトレースできますか?どのようにしてPHPでセッションアクティビティをトレースできますか?Apr 27, 2025 am 12:10 AM

PHPでのユーザーセッションアクティビティの追跡は、セッション管理を通じて実装されます。 1)SESSION_START()を使用してセッションを開始します。 2)$ _Sessionアレイを介してデータを保存およびアクセスします。 3)セッションを終了するには、session_destroy()を呼び出します。セッショントラッキングは、ユーザーの動作分析、セキュリティ監視、パフォーマンスの最適化に使用されます。

データベースを使用してPHPセッションデータを保存するにはどうすればよいですか?データベースを使用してPHPセッションデータを保存するにはどうすればよいですか?Apr 27, 2025 am 12:02 AM

データベースを使用してPHPセッションデータを保存すると、パフォーマンスとスケーラビリティが向上します。 1)MySQLを構成してセッションデータを保存します:PHP.iniまたはPHPコードでセッションプロセッサを設定します。 2)カスタムセッションプロセッサを実装します:データベースと対話するために、開いて、閉じ、読み取り、書き込み、その他の機能を定義します。 3)最適化とベストプラクティス:インデックス、キャッシュ、データ圧縮、分散ストレージを使用して、パフォーマンスを向上させます。

PHPセッションの概念を簡単に説明してください。PHPセッションの概念を簡単に説明してください。Apr 26, 2025 am 12:09 AM

phpssionsStrackuserdataacrossmultiplepagerequestsusingauniqueidstoredinacookie.here'showtomanageetheemefectively:1)Startassession withsession_start()andstoredatain $ _ session.2)RegeneratesseSsessidafterloginwithsession_id(the topreventes_id)

PHPセッションに保存されているすべての値をどのようにループしますか?PHPセッションに保存されているすべての値をどのようにループしますか?Apr 26, 2025 am 12:06 AM

PHPでは、次の手順を通じてセッションデータを繰り返すことができます。1。session_start()を使用してセッションを開始します。 2。$ _Sessionアレイのすべてのキー価値ペアを介してforeachループを反復します。 3.複雑なデータ構造を処理する場合、is_array()またはis_object()関数を使用し、print_r()を使用して詳細情報を出力します。 4.トラバーサルを最適化する場合、ページングを使用して、一度に大量のデータの処理を避けることができます。これにより、実際のプロジェクトでPHPセッションデータをより効率的に管理および使用するのに役立ちます。

ユーザー認証にセッションを使用する方法を説明します。ユーザー認証にセッションを使用する方法を説明します。Apr 26, 2025 am 12:04 AM

このセッションは、サーバー側の状態管理メカニズムを介してユーザー認証を実現します。 1)セッションの作成と一意のIDの生成、2)IDはCookieを介して渡されます。3)サーバーストアとIDを介してセッションデータにアクセスします。

See all articles

ホット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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール