ホームページ バックエンド開発 PHPチュートリアル php_PHP チュートリアルを使用してさまざまな形式でメールを送信する

php_PHP チュートリアルを使用してさまざまな形式でメールを送信する

Jul 13, 2016 am 10:40 AM
mail php 主要 使用 送信 記事 方法 郵便

この記事では、mail()関数の使い方、パイプの使い方、phpmailerクラスの使い方など、PHPでメールを送信する様々な方法を中心に紹介していますので、ぜひ参考にしてください

1. mail() 関数を使用する ​ 多くのことは言う必要はありません。システムに組み込まれている SMTP システム (通常は sendmail) を使用して送信するだけです。これは各システムによって異なります。リファレンスマニュアルをご利用ください。​ ​ 2. パイプライン形式を使用する ​ 昨日、テストに成功し、ローカルの qmail を使用して電子メールを送信しました。 ​ コードは以下のように表示されます: /* qmail を使用してメール関数を送信します */ 関数 send_check_mail($email, $subject,$uid,$buffer) { $command = "/var/qmail/bin/qmail-inject ".$email; //qmail プログラムのアドレス、$email は送信されるアドレスです。 $handle = Popen($command, "w"); //パイプを開きます http://www.cnblogs.com/roucheng/ if (!$handle) { false を返します。 } ​ $from = "webmaster@unixsky.net"; fwrite($handle, "From: ".$from."\n"); // データをパイプに書き込みます fwrite($handle, "リターンパス: ".$from."\n"); fwrite($handle, "宛先: ".$uid."\n"); fwrite($handle, "件名: ".$subject."\n"); fwrite($handle, "Mime-Version: 1.0\n"); fwrite($handle, "Content-Type: text/html; charset=\"gb2312\"\n\n"); fwrite($handle, $buffer."\n"); pclose($handle); //パイプを閉じる ​ true を返します。 } ​ ------------------メールの送信テスト: ​ //メールを送る ​ $subject = "テストメール"; ​ $uid = $_POST['uid'] //情報から $content = "".$u_email ​ ."こんにちは!

ありがとうございます、このメールはテスト用です!"; //コンテンツ情報 ​ $u_email = "hren@yahoo.com.cn"; //メールの送信先 if (send_check_mail($u_email, $subject, $uid, $content)) { ​ echo "おめでとうございます! 投票メールがあなたのメールアドレスに送信されます!

メールを確認してください: ".$u_email."
< ;br>"。 $close; } それ以外 { ​ echo "残念ながら、投票メールをメールボックスに送信できませんでした。もう一度試すか、開発スタッフに問い合わせてください。

" ​ } ​ ​ もちろん、同じ方法を使用して sendmail プロセスを処理して電子メールを送信することもできます。​ ​ 以下のコード例: ​ コードは以下のように表示されます: ​ ​ 実際、このパイプライン メソッドは比較的低レベルであり、呼び出すプログラムの安定性に依存します。したがって、これは電子メールを送信するオプションの方法です。​ ​ ​ 3.phpmailerクラスを使用する ​ オープンソースの電子メール クラスです。メイン サイト: http://phpmailer.sourceforge.net ​ 内部には 2 つのファイルがあり、1 つは class.smtp.php、もう 1 つは class.phpmailer.php です。 また、公式サイトの利用方法は以下の通りです。 phpmailerを使用した例 1. 高度な例これは、マルチパート/代替サポートを使用して、MySQL データベースからバイナリ添付ファイルを含む複数の電子メール メッセージを送信する方法を示します。 ​ コードは以下のように表示されます: require("class.phpmailer.php"); ​ $mail = 新しいphpmailer(); ​ $mail->From = "list@example.com"; $mail->FromName = "リストマネージャー"; $mail->Host = "smtp1.example.com;smtp2.example.com"; $mail->メーラー = "smtp"; ​ @MYSQL_CONNECT("ローカルホスト","ルート","パスワード"); @mysql_select_db("my_company"); $query?=?SELECT フルネーム、メールアドレス、?hoto?ROM 従業員?HERE?d=$id"; $result??MYSQL_QUERY($query); ​ while ($row = mysql_fetch_array ($result)) { // HTML本文 $body = "こんにちは $row["full_name"] ",

"; $body .= "あなたの個人の写真をこのメッセージに送信してください。

"; $body .= "敬具、
"; $body .= "phpmailer リストマネージャー"; ​ // プレーンテキスト本文 (HTML を読めないメールクライアント用) $text_body = "こんにちは " . $row["full_name"] ", \n\n"; $text_body .= "このメッセージにはあなたの個人的な写真が含まれています。\n\n"; $text_body .= "敬具、\n"; $text_body .= "phpmailer リストマネージャー"; ​ $mail->本文 = $body; $mail->AltBody = $text_body; $mail->AddAddress($row["email"], $row["full_name"]); $mail->AddStringAttachment($row["photo"], "YourPhoto.jpg"); ​ if(!$mail->Send()) echo "" . $row["email"] "
" への送信中にメール エラーが発生しました。 ​ // 次のループのためにすべてのアドレスと添付ファイルをクリアします $mail->ClearAddresses(); $mail->ClearAttachments(); } ​ ​ 2. phpmailer の拡張 継承を使用したクラスの拡張は、オブジェクト指向プログラミングの最も強力な機能の 1 つであり、元のクラスをハックすることなく、元のクラスに変更を加えることができます。例を示しました。 ​ 以下は、phpmailer クラスを拡張し、特定のサイトのデフォルトを設定するクラスです。 PHP インクルード ファイル: mail.inc.php コードは以下のように表示されます: require("class.phpmailer.php"); ​ コードは以下のように表示されます: class my_phpmailer extends phpmailer { // すべての新しいオブジェクトにデフォルトの変数を設定します var $From = "from@example.com"; var $FromName = "メーラー"; var $Host = "smtp1.example.com;smtp2.example.com"; var $Mailer = "smtp"; var $WordWrap = 75; ​ // デフォルトの error_handler を置き換えます 関数 error_handler($msg) { print("私のサイトのエラー"); print("説明:"); printf("%s", $msg); 出口; } } ​ // 追加の関数を作成します 関数 do_something($something) { // 新しいコードをここに配置します } } }​ ​ ここにサイト内の通常の PHP ページがあり、上記のデフォルトがすべて設定されています。 通常のPHPファイル:mail_test.php ​ コードは以下のように表示されます。 require("mail.inc.php"); ​ // 新しいクラスをインスタンス化します $mail = 新しい my_phpmailer; ​ // あとは必要なものを追加するだけです $mail->AddAddress("josh@example.com", "ジョシュ アダムス"); $mail->Subject = "これが件名です"; $mail->Body = "これはメッセージ本文です"; $mail->AddAttachment("c:/temp/11-10-00.zip", "new_name.zip"); // オプションの名前 ​ if(!$mail->Send()) { echo "メッセージの送信中にエラーが発生しました"; 出口; } ​ echo "メッセージは正常に送信されました"; ​ ​ 4. PEAR::Net_SMTP コンポーネントを使用する ​ PEAR は本当に優れたものですが、多くの人はあまり使用しないかもしれませんが、少なくとも私は現在その DB クラスを使用しています。これは電子メールの送信に適しています。​ ​ Net_SMTP クラスが必要な場合は、http://pear.php.net にアクセスして、Net_SMTP クラスのユーザー マニュアルをダウンロードできます。 ​ http://pear.php.net/manual/en/package.networking.net-smtp.php ​ 私は上記のクラスを使用していますが、速度などの点でこれが最高ですが、操作にはいくつかの単純な SMTP プロトコルが必要です。​ ​ 私の使用コード: ​ コードは以下のように表示されます。 //----------------------------------------------- ​ require_once 'Net/SMTP.php' // クラスライブラリをロードします。 ​ ​ $subject = "テストメール"; ​ $uid = $_POST['uid'] //情報から $content = "".$u_email ​ ."こんにちは!

ありがとうございます、このメールはテスト用です!"; //コンテンツ情報 ​ $u_email = "hren@yahoo.com.cn"; //メールの送信先 ​ $smtp = 新しい Net_SMTP('192.168.0.1'); //smtp サーバー $smtp->connect(); //サーバーに接続します $smtp->helo('unixsky.net'); //HELO 情報をサーバーに送信します。 $smtp->mailFrom('hren@unixsky.net'); //送信者アドレス $smtp->rcptTo($u_email); //受信者のアドレス $date = date('r') //送信日を取得します。 $smtp->data("Date: $date\r\nFrom: vdddote@eyou.net\r\nTo: $u_email\r\nSubject: $subject\r\nContent-Type: text/html; charset=\ "gb2312\"\r\n\r\n$content\r\n"); //送信データを追加して送信 $smtp->disconnect(); //接続を閉じます

www.bkjia.com本当http://www.bkjia.com/PHPjc/727575.html技術記事この記事では、mail()関数の使い方、パイプの使い方、phpmailerクラスの使い方など、PHPでメールを送信する様々な方法を中心に紹介していますので、ぜひ参考にしてみてください。 1.m...を使う
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

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:27 PM

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

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

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

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

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:26 PM

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

See all articles