▼ 以下の記事のメール送信部分に汎用性を持たせる為に、作成しました。ブラウザからは、FORM で直接呼び出してもいいですが、jQuery で .serialize() から .post() を使用する方法もあります。 @BBS(アットビービーエス) のサービスが終了するので、管理人宛のメールサービスをほぼ同じ画面デザインで作成しました。( ご自由にお使い下さい ) UTF-8 前提です
<?php mb_language( "ja" ); mb_internal_encoding("utf-8"); $mail = new mail_data(); $_GET['from_address'] = "このPHPが置かれるサーバで使用できるメールアドレス"; $_GET['from_text'] ="日本語差出人"; $_GET['to_address'] ="送り先のメールアドレス"; $_GET['to_text'] ="日本語受取人"; $_GET['subject'] ="件名"; $_GET['body'] ="本文1\n本文2\n"; $_GET['another'] ="その他"; $mail->send_mail_set($_GET); print "<pre>"; print_r($mail); print "</pre>"; $mail->send_mail(); // *********************************************** // メール処理用クラス // *********************************************** class mail_data { public $from_address; public $from_text; public $to_address; public $to_text; public $subject; public $body; // *********************************************** // 連想配列のキー部分がプロパティと一致したらセット // *********************************************** public function send_mail_set( $data ) { foreach( $data as $k => $v ) { if ( property_exists( $this, $k ) ) { $this->{$k} = $v; } } } // *********************************************** // サーバー(メールサーバ)送信処理 // *********************************************** public function send_mail() { $from = mb_convert_encoding( $this->from_text, "JIS", "utf-8" ); $from = "From: =?ISO-2022-JP?B?" . base64_encode($from) . "?= <{$this->from_address}>"; $to = mb_convert_encoding( $this->to_text, "JIS", "utf-8" ); $to = "To: =?ISO-2022-JP?B?" . base64_encode($to) . "?= <{$this->to_address}>"; mb_send_mail($to, $this->subject, $this->body, $from ); } } ?>
$_GET を使っているのは、テスト段階なのが理由です。実装では $_POST が望ましいです。
|
【PHP + 通信の最新記事】
- fake sendmail for windows を使って、PHP でごく普通に( mb_send_mail で )メール送信
- PHP の cURL でファイルアップロード
- PHP : WEB でもコマンドラインでも HTTP でファイルをダウンロードする 『fget.php』
- PHP : cURL : Google Photo API の albums.list メソッドを使用して アルバム一覧データを取得する
- PHP + cURL で Google Photo API の アクセストークンを取得する
- PHP : cURL で FTP + SSL ダウンロード
- PHP の imap 関数で( Windows ローカル )、Yahoo メールのメールをさくらインターネットのメールへコピーする
- PHP の imap 関数( Windows のローカル )で、さくらインターネットのメールボックスの情報を取得する
- PHP : IMAP 関数 でまずメールのヘッダ部分を整理してログに出力する / ※ JSON 出力を追加
- ファイルを一つアップロード : FORM の target を IFRAME にして、PHP に JavaScript を書き出させて元のページにメッセージを表示させる
- Pear の Net_POP3 で、SSL(995) を使って簡単にメール受信
- PHP をコマンドプロンプトから実行して、WEB 上のデータを取得するいくつかの方法
- FormData を使用して $.ajax で送信すると、ファイルのアップロードとメール送信(ファイル添付)を一度に行えます
- ファイルのアップロードからそれを添付してメールを送るテンプレート(スケルトン)
- PHP : mb_send_mail を使用した自家用メール送信 API
- PHP で Windows標準のオブジェクト(CDO.Message)とGMail を使ってメール送信
- PHP : http 経由でファイルのサイズを取得する file_size 関数と ファイルサイズを付加した get_imagesize 関数
- PHP : リモートのファイルサイズを取得する
- ローカルの PHP を使ってコマンドプロンプトより簡単にバイナリファイルをアップロードする
- PHP の cURL で ftp サーバーにファイルをアップロードする(SSLなし)