ホームページ バックエンド開発 PHPチュートリアル PHP メールを送信する 2 つの方法

PHP メールを送信する 2 つの方法

May 14, 2018 pm 04:19 PM
php 送信 方法

多くのプログラマーは、PHP を使用してメールを送信する際に、いくつかの問題に遭遇するでしょう。この記事は、PHP でのメール送信の実装に関するアイデアに基づいてまとめられたものです。さまざまな問題が発生したときに、提供されるさまざまな解決策を参照できます。

1. PHP の組み込み mail() 関数を使用します

<?php 
$to = "test@163.com"; //收件人 
$subject = "Test"; //主题 
$message = "This is a test mail!"; //正文 
mail($to,$subject,$message);
ログイン後にコピー

結果は次のようにエラーが直接報告されます:

警告: mail() [function.mail]: に失敗しました 「localhost」ポート 25 でメールサーバーに接続し、「SMTP」と「smtp_port」を確認します。 php.ini で設定するか、オンラインで D:/www/Zend/email/email.php の ini_set() を使用します 10

分析理由: ローカル SMTP サーバーが必要で、コードが変更されました:

<?php 
$to = "test@163.com";//收件人 
$subject = "Test";//邮件主题 
$message = "This is a test mail!";//邮件正文 
ini_set(&#39;SMTP&#39;,&#39;smtp.163.com&#39;);//发件SMTP服务器 
ini_set(&#39;smtp_port&#39;,25);//发件SMTP服务器端口 
ini_set(&#39;sendmail_from&#39;,"admin@163.com");//发件人邮箱 
mail($to,$subject,$message);
ログイン後にコピー

結果はまだ間違っています:

警告: mail() [function.mail]: SMTP サーバー 応答: 553 認証が必要です、smtp2、DNGowKD7v5BTDo9NnplVBA--.1171S2 1301220947 inD:/www/Zend/email/email.php 9 行目

分析理由: 検証情報が必要ですが、検証情報をどのように記述するか?どこで設定するのでしょうか?これらの質問についていくつかの技術記事を参照した結果、mail() 関数を使用して電子メールを送信するには、SMTP 認証なしでレターを送信できるメール サーバーが必要であるという結論に達しました。しかし、現在のSMTPメールサーバーは基本的に認証が必要なため、これを使ってメールを送信したい場合は、認証を必要としないローカルSMTPサーバーを構築するしかありません。セットアップ方法: Windows に付属の IIS を使用するか、インターネットから他の SMTP サーバー ソフトウェアをダウンロードします。

結論: mail() 関数を使用して電子メールを送信するには、認証を必要としない SMTP サーバーが必要です。この場合、設定作業はもう少し多くなりますが、数行のコードを書くだけで簡単に使用できます。

2. SMTP プロトコルをカプセル化するメール クラスを使用する

この方法は、特にサーバーを持たず、インターネットから仮想ホストを購入する大多数の学生にとっては比較的一般的です。そのため、最初の方法は非現実的です。 SMTP プロトコル自体はまだ使用されています。

ただし、この作業を完了するには、SMTP プロトコルをある程度理解する必要があります。すべてを自分で行いたい学生は自分でプロトコルを作成し、独自のものとして使用したい学生はインターネットからダウンロードできます。 。 沢山あります。

ただし、PEAR 拡張機能の Mail クラスを使用することをお勧めします。これには強力な機能があり、プレーン テキストと HTML 形式のメールをサポートでき、適切な設定により中国語の文字化けが発生しません。アタッチメントなどをサポートできます。

サーバー上でpear install Mailを使用できます このコマンドは簡単にインストールできます。十分なサーバー権限を持たない学生は、クラスの PHP ソース コードを直接ダウンロードしてインクルードすることもできます。

注: Mail クラスは Net/SMTP.php および Mail/mime.php に依存します。 を一緒にダウンロードし、使用するときに一緒に含めます。

Mail クラスで電子メールを送信する方法の例を示します。インターネット上の他の SMTP メール クラスの使用法も同様です。インターネット上で SMTP クラスを見つけた場合は、以下を参照してください。は高度にカプセル化されているため、上記よりも簡単に使用できます。ただし、使用方法は比較的似ています。

結論: この方法でメールを送信するためにソフトウェアをインストールする必要はありません。必要なのは、PHP クラスを追加してさらに数行の設定コードを記述するだけです。また、サンプルコードはインターネット上に多数公開されており、多くの場合、それらをコピーしていくつかのパラメータを変更するだけで使用できるため、この方法を使用することをお勧めします。

どんな種類の問題に遭遇したとしても、最も重要なことは問題を解決するためのアイデアを持つことです。この記事が皆さんにインスピレーションをもたらすことを願っています。

関連する推奨事項:

強力な PHP メール クラス

シンプルな PHP メール クラス

PHP メールの問題

以上がPHP メールを送信する 2 つの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

See all articles