message_id

2008/09/11 未分類 spok
Qdmailでは、1.1.1b以降から、message_idを自動的につけてくれます。
それまでは、message_idをつけずに、mail関数やSMTPサーバーに渡していました。それでも、サーバーが自動で付けてくれるので、古いバージョンでも心配はありません。


Qdmailでは、送信ごとにmessage-id を生成し、どのmessage-idも一意になるようにしています。

messge-idを自動では付与しない方法

$mail -> messageId( false );
デフォルトでは、 true です。

message-Id を自分で指定する場合

aaddHeader()メソッドを使って、ご自分で指定してください。
$mail -> addHeader( 'Message-ID','message-id-001001001');
message id は、全世界で一意である必要があります(守っていないメーラーも多いそうですが。)。

message-idの右側だけ自分で指定する場合

Message-IDヘッダは、以下の形式にすべきとRFCにて定められています。
一連番号や文字列@IPアドレス
一連番号や文字列@ドメイン名
一連番号や文字列@コンピュータ名
Qdmailでは、この@の右側について、@hal456.netとつけるのがデフォルトとなっています。
一方で、多くのメーラーでは、Fromヘッダーの差出人のメールアドレスを付けることも多いようです。
もし、message-id の@の右側部分だけを任意のものにしたい場合は以下のメソッドをお使い下さい。

(1.1.3b以降に有効です。)
$mail -> messageIdRight( 'example.com' );

推奨事項

Massage-ID ヘッダは、世界で唯一の値であることが求められています。qdmailでは、なるべくその要件を満たすようにしてありますが、より確実にするために、以下の設定を推奨しておきます。
  • ソースコードの中で、
var $salt = 'qdmail';
とある行を探し出し、'qdmail'を探しだし、任意の別の言葉に置き換える。
意味のある言葉でなく、ランダムな文字列でも大丈夫です。例えばsalkdfhaoifsakdaw9r5dfsとか。
( $salt で検索するのがよいでしょう。)

Qdmailは、Message-Idの作成に、SHA1()関数を使っており、この$saltを変えていただくと、より一意なmessage-idを作成する可能性が高くなります(あくまでも可能性)。

必須ヘッダ(Date,Massage-Id)

2008/09/10 未分類 spok
このメソッドは1.1.1bのみで廃止されました。1.1.2以降での使用はできません。


必須ヘッダーのDateヘッダー、Message-Idヘッダーを自動でつけるかどうか。
$mail -> autoHeader( true );
ただし、ソースコードのvar $time_zone が設定されていないとDateはQdmailでは自動ではつかない。

しかし、多くのSMTPサーバーはDateヘッダがなければ自動的につけてくれる(はず)。

リセット

2008/09/10 未分類 spok

OOPメソッドでは、Qdmailは覚えている

(1.1.1b以降)..1.1.1bにはバグがあるので、1.1.2以降推奨

Qdmailインスタンスは、メールを送信しても、データを覚えています。
そのまま次のメールを送ろうとすると、思いがけず、前のデータを送信したりしますので、そうならないようリセットをして使いましょう。

easyメソッド(1.1.1b以降)、qd_send_mailは、送信前にコンテンツ部分はリセットされます。ここでは、OOP型の話です。

ヘッダーだけリセット

$mail->resetHeader()

Body だけリセット

$mail -> resetBody();

ヘッダーとBody の両方をリセット

$mail -> resetHeaderBody();

すべてのパラメータリセット

ヘッダーのみならず、charset指定などのオプションパラメータをすべて初期化します。
$mail -> reset();

電子署名付きメールの送信方法(全体像)

2008/09/07 未分類 spok

電子署名を取得する

無料の方法

thawteの場合
無料でデジタル証明書を取得する(1)-@IT を参考に、thawteから取得する。
これでIEからエクスポートした、pfxファイルが、「thawteが電子署名した、貴方の公開鍵とメールアドレス等の情報」です。つまりこれが貴方の電子証明書。貴方は、第三者認証機関である、thawteに貴方の公開鍵とメールアドレス等の情報を保証してもらっているので、貴方の電子証明書付きのメールをもらった人は、貴方のメールアドレスから発信されたことを安心して信頼できるのです。
ベリサインの場合
試用版が無料で提供されている。
ベリサイン マネージドPKI
Class1 ライト トライアル版(個人用)

有料の方法

有名どころはベリサインだと思いますが、探せばたくさんあるでしょう。

Qdmailでの送信方法

  1. pfxファイルを、外部からアクセスできないディレクトリに保存する。
  2. 電子署名の使用方法を参考にソースを組み立てる。