Posted on

CakePHP+Qdmailの際にメールの重要度を付けて送れるようにする

お客さんからメールの重要度を付けてメール送信をしたいというお仕事を依頼されたのでメモとしてブログに載せておきます。


CakePHPでQdmail送信をする時は下記の感じで送ります。

$this->Qdmail->subject('XXXXXXXXXXXXXX');//件名
$this->Qdmail->to('xxxxxx@xxx.co.jp');// 送信先
$this->Qdmail->from('xxxxxx@xxx.co.jp');// 送信元
$this->Qdmail->text('XXXXXXXXXXXXXXXXX');//本文
$this->Qdmail->send(); // メール送信処理

普通に「Qdmail 重要度」で検索すると下記URLが引っかかります。
http://hal456.net/qdmail/priority

ただ、CakePHPでのメールを飛ばす方法が記述されていません。
$mail->priority(‘high’);で送れるような事が書いていたのでCakePHPっぽく
$this->Qdmail->priority(‘high’);と書いてみたのですが、priorityメソッドが居ないよとエラーになります。

困ったぞと調べてみるとメールのヘッダーにX-Priorityを1から5で指定すると重要度が変えれるとの事!!
という事で次のように記述しました。

$this->Qdmail->addHeader('X-Priority', 1);// 重要度(重要)

この方法だと「やや重要:2」「やや低い:4」の間の重要度も送信できました。