検索
ホームページバックエンド開発PHPチュートリアルメールを送信するphpのmail()関数の使用例を詳しく解説

1. はじめに
Mail()関数、この関数を使用してメールを送信できます。
要件
Mail 関数を使用するには、PHP がシステム内でバイナリ メール ファイルをコンパイルして送信する機能を備えている必要があります。 qmail や postfix などの他のメール プログラムを使用する場合は、それらを使用してメール パッケージを送信できるという確信が必要です。 PHP は最初にパス上で sendmail を検索するため、次のパスが推奨されます: :/usr/bin :/usr/sbin :/usr/etc :/etc:/usr/ucblib :/usr/lib PHP をコンパイルするユーザーは、バイナリの sendmail にもアクセスできる必要があります。
インストール
これらの機能はPHPコアの一部であり、インストールしなくても使用できます。
実行時設定
これらの関数の動作は、グローバル設定ファイルphp.iniの影響を受けます。
表 1. メールの基本構成オプション:

名前 デフォルト値 変更可能な値

SMTP "localhost" PHP_INI_ALL

smtp_port "25" PHP_INI_ALL

sendmail_from NULL PHP_INI_ALL

sendmail_path _PATH PHP_INI_SYSTEM

メールの詳細については、ini_set を参照してください。 () 設定オプションの関数。以下に、この構成オプションについて簡単に説明します。
SMTP string
Windows のみ: SMTP サーバーの DNS 名または IP アドレス。 PHP は、mail() 関数を使用して電子メールを送信するときに SMTP サーバーを使用します。
smtp_portint
Windows でのみ使用: mail() 関数を使用してメールを送信するときに、指定した SMTP サーバーに接続するポート番号を設定します。デフォルト: 25。 PHP 4.3.0以降でのみ利用可能です。
sendmail_from string
Windows システムで PHP が電子メールを送信するとき、「From:」電子メール アドレスが使用されます。
sendmail_path string
送信メールプログラムの場所。通常は /usr/sbin/sendmail または /usr/lib/ にあります。ここでの構成オプションは、適切に機能するようにデフォルト値に設定されています。ただし、失敗した場合は、ここで設定できます。
あなたのシステムがsendmailを使用できない場合は、以下の手順に従って、提供されているメールシステムでsendmailラッパー/代替品をセットアップする必要があります。たとえば、Qmail ユーザーは、これを新しいパス /var/qmail/bin/sendmail または /var/qmail/bin/qmail-inject に設定できます。
qmail - オプションなしでメールを正しく処理します。
リソースタイプ
この拡張モジュールはリソースタイプを定義しません。
事前定義された定数
この拡張モジュールは定数を定義しません

2. 使用方法
構文:

bool mail ( string to, string subject, string message [, string additional_headers [, string additional_parameters]])   

mail() 関数は、指定されたメッセージ (文字列メッセージ) を指定された電子メール アドレス (文字列宛先) に送信できます。 。複数の電子メール アドレスはカンマで区切る必要があります。この機能を使用して、電子メールの添付ファイルや特殊な種類のファイルを送信できます。
上記の構文の各パラメーターの意味は次のとおりです:
string to - 受信者の電子メール アドレス、
string subject - 電子メールの件名、
string message - 電子メールの本文、
string added_headers - 追加情報を追加します。電子メールはレターのヘッダーと末尾に追加されます。
メールが正常に送信された場合、mail() 関数は TRUE を返し、それ以外の場合は FALSE を返します。 知らせ! Windows での

mail() 関数の実行方法は、多くの点で UNIX システムとは異なります。
1. メッセージ本文の形成にローカルバイナリを使用しません;
2. From:、Cc:、Bcc:、Date: などのヘッダー要素は最初に MTA によって解釈されませんが、PHP によって解釈できます。 PHP = 4.3 は、前述のヘッダー要素をすべてサポートしますが、大文字と小文字は区別されません。
2.1. 例 1. メールを送信する:

mail("joecool@example.com", "My Subject", "Line 1nLine 2nLine 3");

2.2. 4 番目のパラメーターが使用される場合、このパラメーター文字列はレターのヘッダーと末尾に挿入されます。これは通常、追加のヘッダー情報を示すために挿入されます。複数の追加ヘッダー情報は、復帰 r と改行 n 文字で区切る必要があります。
例 2. 追加のヘッダー情報を含む電子メールを送信する:

mail("nobody@example.com", "the subject", $message,"From: webmaster@{$_SERVER[’SERVER_NAME’]}rn"    
."Reply-T webmaster@{$_SERVER[’SERVER_NAME’]}rn"."X-Mailer: PHP/" .phpversion());

2.3.Additional_parameters パラメーターが使用される場合、プログラムは電子メールの送信時に追加のパラメーターを設定するために sendmail_path 構成を使用します。たとえば、これを使用して、メール送信前に -f オプションを使用するときに送信者のアドレス エンベロープを設定できます。この方法を使用して送信者エンベロープを設定する場合、次を使用してエンベロープ送信者を設定するときに「X-Warning」ヘッダーがメッセージに追加されないように、Web サーバーが実行するユーザーを sendmail 構成に追加する必要がある場合があります。このメソッドです。
例 3. ヘッダー情報を追加し、コマンド パラメーターを追加して電子メールを送信します。

mail("nobody@example.com", "the subject", $message,"From: webmaster@{$_SERVER[’SERVER_NAME’]}",      
 "-fwebmaster@{$_SERVER[’SERVER_NAME’]}");

  注意:其中的第五个参数附加在PHP 4.0.5版本中。在PHP 4.2.3以后的版本中的安全模式中被禁止,如果用它的话将返回一个警告信息和返回FALSE值。   
  你同样能用简单的字符串构造技术建立一个复杂的邮件消息。
例子 4. 发送一个复杂邮件

/*收件人*/
$to = "Mary " . ", " ; //注意逗号
$to .= "Kelly ";
 /*主题*/
$subject = "Birthday Reminders for August";
/*正文*/
$message = ’         
Here are the birthdays upcoming in August!
’;
 /*你能设置头内容:Content-type来发送HTML格式邮件。*/
 $headers = "MIME-Version: 1.0rn";
$headers .= "Content-type: text/html; charset=iso-8859-1rn";
 /*附加头消息*/
$headers .= "From: Birthday Reminder rn";
$headers .= "Cc: birthdayarchive@example.comrn";
$headers .= "Bcc: birthdaycheck@example.comrn";
/*发送它*/
mail($to, $subject, $message, $headers);
@example.com>@example.com>@example.com>

注意:
  1、不要在收件人地址和主题中有换行符号,否则邮件可能不能被发送出去。
  2、收件人地址参数(string to)中不能存在以"Something "形式地址,否则当用MTA时mail命令可能不被正确的分析。
  3、PHP使用mail函数发送邮件标题乱码问题 PHP程序使用mail()函数发送邮件的时候,标题中文的话会出现乱码。
解决方法:
  先用函数base64_encode() — 使用 MIME base64 对数据进行编码 标题字符串前加编码类型例如: =?UTF-8?B? 标题字符串后加:?= 邮件header说明Content-type — 防止邮件正文也乱码
举例:

$to  = 'xinple@example.com';
$subject  = "=?UTF-8?B?".base64_encode('邮件标题')."?=";
$headers  = 'MIME-Version: 1.0' . "rn";
$headers .= 'Content-type: text/html; charset=utf-8' . "rn";
// Additional headers
$headers .= 'To: Xinple' . "rn";
$headers .= 'From: Admin ' . "rn";
$headers .= 'Reply-To: Xinple' . "rn";
mail($to, $subject, $message, $headers);@example>@example.com>@example.com

以上がメールを送信するphpのmail()関数の使用例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
誇大広告を超えて:今日のPHPの役割の評価誇大広告を超えて:今日のPHPの役割の評価Apr 12, 2025 am 12:17 AM

PHPは、特にWeb開発の分野で、最新のプログラミングで強力で広く使用されているツールのままです。 1)PHPは使いやすく、データベースとシームレスに統合されており、多くの開発者にとって最初の選択肢です。 2)動的コンテンツ生成とオブジェクト指向プログラミングをサポートし、Webサイトを迅速に作成および保守するのに適しています。 3)PHPのパフォーマンスは、データベースクエリをキャッシュおよび最適化することで改善でき、その広範なコミュニティと豊富なエコシステムにより、今日のテクノロジースタックでは依然として重要になります。

PHPの弱い参照は何ですか、そしていつ有用ですか?PHPの弱い参照は何ですか、そしていつ有用ですか?Apr 12, 2025 am 12:13 AM

PHPでは、弱い参照クラスを通じて弱い参照が実装され、ガベージコレクターがオブジェクトの回収を妨げません。弱い参照は、キャッシュシステムやイベントリスナーなどのシナリオに適しています。オブジェクトの生存を保証することはできず、ごみ収集が遅れる可能性があることに注意する必要があります。

PHPで__invoke Magicメソッドを説明してください。PHPで__invoke Magicメソッドを説明してください。Apr 12, 2025 am 12:07 AM

\ _ \ _ Invokeメソッドを使用すると、オブジェクトを関数のように呼び出すことができます。 1。オブジェクトを呼び出すことができるように\ _ \ _呼び出しメソッドを定義します。 2。$ obj(...)構文を使用すると、PHPは\ _ \ _ Invokeメソッドを実行します。 3。ロギングや計算機、コードの柔軟性の向上、読みやすさなどのシナリオに適しています。

同時性については、PHP 8.1の繊維を説明します。同時性については、PHP 8.1の繊維を説明します。Apr 12, 2025 am 12:05 AM

繊維はPhp8.1で導入され、同時処理機能が改善されました。 1)繊維は、コルーチンと同様の軽量の並行性モデルです。 2)開発者がタスクの実行フローを手動で制御できるようにし、I/O集約型タスクの処理に適しています。 3)繊維を使用すると、より効率的で応答性の高いコードを書き込むことができます。

PHPコミュニティ:リソース、サポート、開発PHPコミュニティ:リソース、サポート、開発Apr 12, 2025 am 12:04 AM

PHPコミュニティは、開発者の成長を支援するための豊富なリソースとサポートを提供します。 1)リソースには、公式のドキュメント、チュートリアル、ブログ、LaravelやSymfonyなどのオープンソースプロジェクトが含まれます。 2)StackOverFlow、Reddit、およびSlackチャネルを通じてサポートを取得できます。 3)開発動向は、RFCに従うことで学ぶことができます。 4)コミュニティへの統合は、積極的な参加、コード共有への貢献、および学習共有への貢献を通じて達成できます。

PHP対Python:違いを理解しますPHP対Python:違いを理解しますApr 11, 2025 am 12:15 AM

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHP:それは死にかけていますか、それとも単に適応していますか?PHP:それは死にかけていますか、それとも単に適応していますか?Apr 11, 2025 am 12:13 AM

PHPは死にかけていませんが、常に適応して進化しています。 1)PHPは、1994年以来、新しいテクノロジーの傾向に適応するために複数のバージョンの反復を受けています。 2)現在、電子商取引、コンテンツ管理システム、その他の分野で広く使用されています。 3)PHP8は、パフォーマンスと近代化を改善するために、JITコンパイラおよびその他の機能を導入します。 4)Opcacheを使用してPSR-12標準に従って、パフォーマンスとコードの品質を最適化します。

PHPの未来:適応と革新PHPの未来:適応と革新Apr 11, 2025 am 12:01 AM

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。

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

AI Hentai Generator

AI Hentai Generator

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

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

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

メモ帳++7.3.1

メモ帳++7.3.1

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

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 プラットフォームで実行できます。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン