ようこそゲストさん

QdmailReceiver Multibyte mail decoder & POP Client

2008/09/15(月) 2008-09-15

ダウンロードはこちら QdmailReceiver
  • 0.1.4a
multipart/aliternative 等のつなぎパートが添付ファイルとして認識されてしまうバグを修正。

添付ファイルを返す配列のcontent-idヘッダ情報の配列キーが、content_idだったのをcontent-idに修正

返り値にcontent-id_essenceを追加。content-idの< >を省いたもの

# 渋谷 『content-disposionがinlineの場合も 添付ファイルになってしまうようです~』 (2009/07/01 20:59)

2008/09/14(日) 2008-09-14

ダウンロードはこちら QdmailReceiver
  • 0.1.3a
ヘッダー取得前にメール本文を取得しようとすると、うまくいかないバグ修正。
version()メソッド追加

出力文字コード

QdmailReceiverは、返り値のマルチバイトコードについては、mb_internal_encoding()に指定された文字コードに変換して返します。

したがって、適切にmb_internal_encoding()の文字コードの設定がなされていなければなりません。


特に、返り値の文字コードを別に指定したい場合は、charset()メソッドを使用してください。

carset() 返り値の文字コード指定 OOP型


$receiver->carset( 'EUC-JP' );

# test 『一番下「charset」メソッドのつづりが間違ってるお・・』 (2009/11/09 16:03)

# おんぎゃああああああああ 『$receiver->charset( 'UTF-8' ); でもいいですか? 』 (2011/02/03 22:58)

2008/09/11(木) 2008-09-11

ダウンロードはこちら QdmailReceiver
  • 0.1.2a
メール本文がカラの時に、添付ファイルが重複してデコードされるバグを修正

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モードが使えない場合の代替手段

ダイレクトモード

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

# 開発は終わっていると思うのですが 『[attach_flag] => 1 何が、デコメで使ってる画像で、何が、添付ファイルなのか、区別がつきません。。。 Conte...』 (2011/02/06 14:31)

# ファイル名ある半角スペース 『ファイル名に半角スペースが入っていると、filename、filename_safeともに半角スペースで途切れてしまいます。修正...』 (2011/03/03 17:14)

# 自己解決 『あっているかちょっと自身はないのですが 627行目の if( $ret['attach_flag'] && (1===pr...』 (2011/03/10 10:16)

# 転送メールに添付ファイルがついていると本文を取得できない 『all()で取得できますが、 そのすべてのメールソースから本文のみを抽出するのは大変ですね。 どなたか簡単な取得法ありませんか?』 (2012/12/12 13:15)

# QdmailReceiverのPOP3受信エラー 『Qdmail便利に使わせて頂いております。 Qdmailを使用してSMTP送信する機能の実装が完了し、無事に動作しておりますが...』 (2013/04/20 20:13)