ようこそゲストさん

QdmailReceiver Multibyte mail decoder & POP Client

QdmailReceiverとは

QdmailReceiverでできること

  • メールデコード(日本語OK)
  • 受信サーバー(POP)操作
PHPで、日本語での空メールや多機能転送メールを簡単に実現したり、POPメールボックス操作でWEBメールを実現できたりします。主にメールのMIMEデコード機能、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モードが使えない場合の代替手段

ダイレクトモード

メールデータ(ヘッダーも含めた全部)を渡すことで、ヘッダー部分を分割し、解析します。日本語も大丈夫です。
以下のような用途に使えるでしょう。
  • 複雑なメール転送
  • 他のソフトと組み合わせて、メールのデコード

# 開発は終わっていると思うのですが 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 ) ) ){

としたら、半角スペースの入っているファイル名も正しく取れるようになりました。


#  非公開コメント   
  • TB-URL  http://www.hal456.net/qdmail_rec/01/tb/