関数型でSMTP送信

2008/08/02 未分類 spok

SMTP送信のメリット

qd_send_mailの一番の特徴は、関数型なのに、SMTP送信できる点です。
SMTP送信を選択すると、phpのmail関数は使いません。
外部SMTPサーバーを指定しておけば、開発環境と運用環境が異なる時にも、コード変更なしで対応できるほか、そもそもメール送信サーバーがない環境でメールを送信することができます。
  1. 可搬性がよい
  2. スピードが速い
  3. mail関数、送信サーバーのクセを排除できる(より安全なコードを書くことができる)

サンプルコード

テキストメール&添付ファイルの場合

OP25制限があるプロバイダに、SMTP認証(Plain)で繋ぐ例です。
通常の送信ポート25でも大丈夫ですし、POP Before SMTPもできます。
SMTPパラメーターの詳しい設定の仕方はQdsmtpの初期設定をご覧下さい。

qdmail.php と Qdsmtp.php をインクルードパスが通ったディレクトリに置いてください。QdmailはQdsmtpを自動的にインクルードしますが、この自動インクルードがうまくいかない場合は、ユーザーにて明示的にインクルードしてください。
require_once('qdmail.php');

$param = array(
    'host'=>'smtp.example.com',
    'port'=> 587 ,
    'from'=>'return_path_address@example.com',
    'protocol'=>'SMTP_AUTH',
    'user'=>'userID_for_SMTP_server',
    'pass' => 'password',
);

$to = array( 'address@mail456.com' , '宛先日本語名' );
$from = array( 'from@example.com' , '送り元日本語名' );

$subject = 'メールのテスト(テキスト)';
$body = "ここに本文を書きます。";
$attach = array( 'test.jpg' , '添付ファイル名.jpg' );

$option = array('type'=>'text','smtp'=>$param);

$flag =qd_send_mail( $option , $to , $subject , $body , $from , $attach , $debug);
$optionのキー'type'で、メールの種類を指定します。
HTMLメールを送信する場合は次のようにします。
$option = array('type'=>'html','smtp'=>$param);
デコメール(デコレーションメール)を送信する場合は次のようにします。
$option = array('type'=>'deco','smtp'=>$param);

その他の指定は、関数型の基本をご参照ください。

HTMLメール

2008/08/02 未分類 spok

qd_send_mailでHTMLメール

基本的には、qd_send_mailでのテキストメールの送信方法と同じです。
'text'という指定を'html'と変更するだけです。

ここでは、サンプルコードのみを記します。

サンプルコード

添付ファイルを送る場合

$to = array( 'address@example.com' , '宛先日本語名' );
$from = array( 'from@example.com' , '送り元日本語名' );
$subject = 'HTMLメールのテスト(テキスト)';
$body = '<html><body bgcolor="#eeeeff"><p>ここに本文を書きます。
</p><span style="color:red;font-weight:bold;">
さまざまな装飾をすることが可能です。
</span></body></html>';

$attach = array( 'test.jpg' , '添付フィル.jpg');

qd_send_mail( 'html' , $to , $subject , $body , $from , $attach);

バージョン1系トップ

2008/08/01 未分類 spok
Qdmailバージョン1系は、主に以下の3つのモードがあります。
  1. 関数型 qd_send_mail()
  2. easy型 $mail -> easyText()
  3. send型 $mail -> send()
どのモードであっても、テキスト、HTML、デコメのすべてを送信することができます。
どのモーとであっても、SMTP送信することができます。
ダウンロードはこちら

これらのモードの違いは、細かい設定をどこまで省略できるかどうか、逆に言えば、細かい設定がどこまでできるか、という点にあります。
モード簡単さ複雑さバージョン0系との互換性
qd_send_mail超簡単複雑な指定はやりづらいなし
easy型オブジェクト指向がわかっていれば超簡単複雑な設定もある程度は可能なし
send型Pear::Mail,Pear::Mimeに似ている。ちょい複雑。マニアックな設定もOKあり