ホームページ > php教程 > php手册 > PHP を使用して MIME メールを送信する (3)

PHP を使用して MIME メールを送信する (3)

WBOY
リリース: 2016-06-21 09:10:15
オリジナル
1115 人が閲覧しました

マイム

MIME クラス
これらの基礎ができたら、PHP を使用して MIME メール クラスを作成して実装してみましょう。 PHP ライブラリ関数には、コーディングに必要なツールがすでに含まれています


MIME クラスは次のことができる必要があります:

添付ファイルを追加する
個々のリクエストごとに添付データをエンコードする
MIME セグメント/ヘッダーを作成する
MIME セグメント/ヘッダーを含む完全な電子メールを生成する
電子メール全体を文字として変換する 返される文字列
を使用して送信するローカルメールハンドラー(またはSMTPメールハンドラーの呼び出しを選択)
このクラスはMIME_mailと呼ばれます。理論と実践の間のギャップを埋めるための授業方法について説明します。 (読書の提案: PHP のためのオブジェクト指向プログラミング: 大規模 PHP プロジェクト開発へのアプローチ、Luis
Argerich 著)。読みやすくするために、コメントのほとんどは削除されています。一部のメソッドとクラス メンバー変数は内部処理のみに使用され、以下のコメント (および初期クラス ファイル) で指摘されています。


class MIME_mail {
//Public:
var $from;
var $headers = ""; ";

var $base64_func= ''; // PHPのbase64関数が指定されていない場合
var $qp_func = ''; // この時点では空です

var $mailer = ""; // 設定it to Valid mail object names

?>

パブリックに扱われる変数 (つまり、スクリプト内で直接操作できる変数) がいくつかあります。これらの変数のほとんどは説明不要です。 $headers には、メール ハンドラーに送信するオプションのヘッダー情報が含まれます。 $errstr
は、人間が判読できるエラー文字列を含む変数
で、スクリプトの呼び出しで使用できます。

$base64_func と $qp_func は、ユーザーがカスタマイズできる「関数プロセッサ」です。デフォルトでは、空の文字列に設定されます。 $base64_func の場合、空の文字列は、PHP の組み込みのbase64_encode() 関数を使用することを意味します... (そうです! 美しいですね!)。
Quoted Printable は $qp_func を通じて処理できます。 PHP には組み込みの quote-printable
encoding 関数はありません (ただし、imap がインストールされている場合は imap_qprint() を使用できます)。この記事では、quoted_printable メソッドについては説明しません。


//Private:
var $mimeparts = array();

?>

$mimeparts は、電子メール メッセージ内の独立した MIME 準拠のセグメントを含む内部配列です。このクラス (または派生クラス) の外部で、このメソッドや他のプライベート メソッド/変数を操作しないでください。


//Constructor
function MIME_mail($from="", $to="", $subject="",
$body="", $headers = "") {
$ this ->to = $to;
$this->from = $from;
$this->body = $body; {
if (sizeof($headers)>1)
$headers=join(CRLF, $headers);
else
$headers=$headers[0];
if ($from) {
$headers = preg_replace("!(from: ?.+?[
]?)!i", '', $headers);
$this->headers = Chop($headers); [] = "" ; //位置 0 を増やす
}

?>

「from」と「to」のメールアドレス、件名、メール本文とヘッダーを使用するオブジェクトのコンストラクターがあります。パラメータとして。メール本文セクションの
ポイントは、おそらく入力するであろう通常のメールを提供します。最後のパラメータはオプションの (ユーザー定義の) ヘッダーです。たとえば、X-Mailer:
MyMailer_1.0。 $headers は、メーラーに送信されるさまざまなヘッダーの配列、または特定のヘッダーの単なるコンテナーであることに注意してください。 $headers パラメーターで From:
ヘッダーを送信することはできません。見つかった場合、この部分は自動的に削除されます。以下に示すように、複数のヘッダーを使用できます: array("X-Mailer: MYMailer_1.0",
"X-Organization: PHPBuilder.com")。

$mimeparts は空の項目 (インデックス 0) で作成されます。これが使用される理由は後で説明します。







関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート