検索
ホームページバックエンド開発PHPチュートリアルPHPでメール送信を実装するというアイデア

PHPでメール送信を実装するというアイデア

Jun 06, 2018 pm 04:51 PM
phpでメールを送信

この記事では主にphpでメール送信を実装するアイデアを紹介します。興味のある方はぜひ参考にしてください。

この記事の主な内容は、PHP を使用してメールを送信することであり、次の 2 つの方法にまとめられています:

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 でメールサーバーに接続できませんでした。php.ini の「SMTP」および「smtp_port」設定を確認するか、D の ini_set() を使用してください。 /www/Zend/ email/email.php 行 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 on line 9

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

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

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

この方法は、特にサーバーを持たず、インターネットから仮想ホストを購入する大多数の学生にとって比較的一般的です。最初の方法は非現実的です。そのため、彼らは依然として SMTP 契約を使用して電子メールを送信しています。

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

ただし、 拡張機能の Mail クラス を使用することをお勧めします。 はプレーン テキストでの電子メールをサポートし、フィールドごとに HTML エンコーディングを設定でき、正しい設定により中国語の文字化けが発生しません。文字; はい 添付ファイルなどをサポートします。

サーバー上で

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

注: Mail クラスは Net/SMTP.php と Mail/mime.php に依存しており、使用する場合は一緒にダウンロードしてインクルードする必要があります。

Mail クラスで電子メールを送信する方法の例を示します。インターネット上の他の SMTP メール クラスの使用法も同様です。

<?php 
 
// Pear Mail 扩展 
require_once(&#39;Mail.php&#39;); 
require_once(&#39;Mail/mime.php&#39;); 
require_once(&#39;Net/SMTP.php&#39;); 
 
$smtpinfo = array(); 
$smtpinfo["host"] = "smtp.163.com";//SMTP服务器 
$smtpinfo["port"] = "25"; //SMTP服务器端口 
$smtpinfo["username"] = "username@163.com"; //发件人邮箱 
$smtpinfo["password"] = "password";//发件人邮箱密码 
$smtpinfo["timeout"] = 10;//网络超时时间,秒 
$smtpinfo["auth"] = true;//登录验证 
//$smtpinfo["debug"] = true;//调试模式 
 
// 收件人列表 
$mailAddr = array(&#39;receiver@163.com&#39;); 
 
// 发件人显示信息 
$from = "Name <username@163.com>"; 
 
// 收件人显示信息 
$to = implode(&#39;,&#39;,$mailAddr); 
 
// 邮件标题 
$subject = "这是一封测试邮件"; 
 
// 邮件正文 
$content = "<h3 id="随便写点什么">随便写点什么</h3>"; 
 
// 邮件正文类型,格式和编码 
$contentType = "text/html; charset=utf-8"; 
 
//换行符号 Linux: \n Windows: \r\n 
$crlf = "\n"; 
$mime = new Mail_mime($crlf); 
$mime->setHTMLBody($content); 
 
$param[&#39;text_charset&#39;] = &#39;utf-8&#39;; 
$param[&#39;html_charset&#39;] = &#39;utf-8&#39;; 
$param[&#39;head_charset&#39;] = &#39;utf-8&#39;; 
$body = $mime->get($param); 
 
$headers = array(); 
$headers["From"] = $from; 
$headers["To"] = $to; 
$headers["Subject"] = $subject; 
$headers["Content-Type"] = $contentType; 
$headers = $mime->headers($headers); 
 
$smtp =& Mail::factory("smtp", $smtpinfo); 
 
 
$mail = $smtp->send($mailAddr, $headers, $body); 
$smtp->disconnect(); 
 
if (PEAR::isError($mail)) { 
  //发送失败 
  echo &#39;Email sending failed: &#39; . $mail->getMessage()."\n"; 
} 
else{ 
  //发送成功 
  echo "success!\n"; 
}

インターネット上にある SMTP クラスが高度にカプセル化されている場合。上記の方が簡単ですが、使用方法は比較的似ています。

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

要約: 上記がこの記事の全内容です。皆様の学習に役立つことを願っています。

関連する推奨事項:

ファイルをダウンロードするためのPHP関数の例の詳細な説明

PHPがQRCODEに基づいてカラーQRコードを生成する方法

PHPはログイン確認コード関数と呼び出しメソッドを実装します

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

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

tomakephpapplicationsfaster、followthesesteps:1)useopcodecachinglikeopcacheTostoredscriptbytecode.2)最小化abasequeriesecachingingindexing.3)leveragephp7機能forbettercodeefficiency.4)

PHP依存性インジェクション:コードのテスト可能性を改善しますPHP依存性インジェクション:コードのテスト可能性を改善しますMay 12, 2025 am 12:03 AM

依存性注入(DI)は、明示的に推移的な依存関係によりPHPコードのテスト可能性を大幅に改善します。 1)DI分離クラスと特定の実装により、テストとメンテナンスが柔軟になります。 2)3つのタイプのうち、コンストラクターは、状態を一貫性に保つために明示的な式依存性を注入します。 3)DIコンテナを使用して複雑な依存関係を管理し、コードの品質と開発効率を向上させます。

PHPパフォーマンスの最適化:データベースクエリの最適化PHPパフォーマンスの最適化:データベースクエリの最適化May 12, 2025 am 12:02 AM

DatabaseQueryoptimizationInpholvesseveralstrategESTOEnhancePerformance.1)selectonlynlynlyndorycolumnStoredatedataTransfer.2)useindexingtospeedupdataretrieval.3)revenmecrycachingtostoreres sultsoffrequent queries.4)

簡単なガイド:PHPスクリプトで電子メールを送信します簡単なガイド:PHPスクリプトで電子メールを送信しますMay 12, 2025 am 12:02 AM

phpisusededemingemailsduetoitsbuilt-inmail()functionandsupportiveLibrarieslikephpmailerandswiftmailer.1)usethemail()functionforbasicemails、butithaslimitations.2)emploadforadvancedfeatureSlikelikelivableabableabuses.3)雇用

PHPパフォーマンス:ボトルネックの識別と修正PHPパフォーマンス:ボトルネックの識別と修正May 11, 2025 am 12:13 AM

PHPパフォーマンスボトルネックは、次の手順で解決できます。1)パフォーマンス分析にXdebugまたはBlackfireを使用して問題を見つける。 2)データベースクエリを最適化し、APCUなどのキャッシュを使用します。 3)array_filterなどの効率的な関数を使用して、配列操作を最適化します。 4)bytecodeキャッシュ用のopcacheを構成します。 5)HTTP要求の削減や写真の最適化など、フロントエンドを最適化します。 6)パフォーマンスを継続的に監視および最適化します。これらの方法により、PHPアプリケーションのパフォーマンスを大幅に改善できます。

PHPの依存関係注射:簡単な要約PHPの依存関係注射:簡単な要約May 11, 2025 am 12:09 AM

依存関係(di)inphpisadesignpatternativats anducesclassodulencies、拡張測定性、テスト可能性、および維持可能性。

PHPパフォーマンスの向上:キャッシュ戦略と技術PHPパフォーマンスの向上:キャッシュ戦略と技術May 11, 2025 am 12:08 AM

cachingemprovesppperformancebystring of computationsorquickretrieval、還元装置の削減は、reducingerloadendenhancersponseTimes.efcectivestrategiesInclude:1)opcodecaching、compiledphpscriptsinmemorytoskipcompilation;

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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境