▼ QdmailReceiverとは
■QdmailReceiverでできること
- メールデコード(日本語OK)
- 受信サーバー(POP)操作
Pear::Mail,Pear:MIMEなどで同様の機能は実現できますが、メールの仕組みを理解していないと難しいです。Qdmailシリーズは、「初心者には簡単に、上級者には詳細に」のポリシーのもと、簡単使用方法と、詳細使用方法の両方を使うことができます。
簡単にメールのデコードができるので、例えば、取得したメールをヘッダーと本文まるごとデータベースに保存しても、すぐに内容を取り出すことができます。
gmailのようなWEBサービスも比較的簡単に実現できるでしょう。
更新情報
■QdmailReceiverの特徴
- 統合部分
- 簡単関数タイプを用意
- ファイル一つで、STDIN , POP , 直接デコードの3つの機能を統合して使用可能
- デコード部分
- 日本語メールのデコード
- POP機能部分
- メールの取得、削除
- ヘッダーのみ取得する高速モードあり
- 特定ヘッダーのみの抜き出し機能
- UID取得機能
■3つのモード
スタンダードインプットモード(STDIN)
メールの受信サーバーから、パイプライン処理等で、PHPプログラムを直接起動し、STDIN経由でメールデータを受け渡しするモードです。受信サーバーの種類によって設定が異なります。
以下のような用途に使えるでしょう。
- 空メール
- spam排除サービス
- 転送メール
- WEBメールサービス
- メールによる各種メンバーサービス
POPモード
メールの受信サーバーにPOPプロトコルで接続し、溜まっているメールを取得します。以下のような用途に使えるでしょう。
- WEBメールサービス
- spam排除サービス
- STDINモードが使えない場合の代替手段
ダイレクトモード
メールデータ(ヘッダーも含めた全部)を渡すことで、ヘッダー部分を分割し、解析します。日本語も大丈夫です。以下のような用途に使えるでしょう。
- 複雑なメール転送
- 他のソフトと組み合わせて、メールのデコード
- TB-URL http://www.hal456.net/qdmail_rec/01/tb/
# 開発は終わっていると思うのですが 2011年02月06日(日) 午後2時31分
[attach_flag] => 1
何が、デコメで使ってる画像で、何が、添付ファイルなのか、区別がつきません。。。
Content-Disposition: attachment;
をはんべつできるようにお願いいたしますうう
# ファイル名ある半角スペース 2011年03月03日(木) 午後5時14分
ファイル名に半角スペースが入っていると、filename、filename_safeともに半角スペースで途切れてしまいます。修正はしていただけないでしょうか?
# 自己解決 2011年03月10日(木) 午前10時16分
あっているかちょっと自身はないのですが
627行目の
if( $ret['attach_flag'] && (1===preg_match('/name\s*=\s*"?([^"\s\r\n]+)"?\r?\n?/is',$header['content-type'] , $matches ) ) ){
の正規表現から\sを外して
if( $ret['attach_flag'] && (1===preg_match('/name\s*=\s*"?([^"\r\n]+)"?\r?\n?/is',$header['content-type'] , $matches ) ) ){
としたら、半角スペースの入っているファイル名も正しく取れるようになりました。