メーラーdeネットニュース連携で質問No.09646
ポン太 さん 05/08/30 09:45
 
秀まるお さん、こんにちは。ポン太 です。

メーラーdeネットニュースを自動制御するときの制御の中身の確認ですが、
1.メーラーdeネットニュースが起動していないときは非表示で起動。
2.(10分以上経過していたら)メッセージ(wParam=3,lParam=-1)を投げて、メー
ラーdeネットニュースを送受信。
3.メッセージ(wParam=0)を投げて送受信可能になったら、PostMessageでメー
ラーdeネットニュースを終了。

大まかな流れはこんな感じだと思うのですが、「送受信エラー時にダイアログで
はなくメール通知とする」にチェックが入っていない場合は、これを(一時的
に)入れたりするのでしょうか?もしここを制御していない場合にメーラーdeネ
ットニュースでTime Outなどのエラーが発生すると、エラーダイアログが出ると
思うのですが、その場合メーラーdeネットニュースを終了させる方法はあるので
しょうか?

それから余談ですが、メーラーdeネットニュースのプラグインは、受信機能は必
須なんですが、送信機能はオプションになっていて、例えばIMAP4プラグインは
受信機能しかありません。従って秀丸メールの設定も、SMTPサーバーはメーラー
deネットニュースを指さないことになります。この場合秀丸メールではIMAP4の
設定を設定済みとは認識してくれないようです。


2005/08/30(火) 09:19 ポン太

[ ]
RE:09646 メーラーdeネットニュース連携でNo.09647
秀まるお さん 05/08/30 14:07
 
 秀丸メール側からメーラーdeネットニュースを起動する方法ですが、非表示じ
ゃなくて、SW_SHOWMINNOACTIVEで起動しています。つまり、最小化された状態で
起動しているだけでして、タスクバーにはちゃんとメーラーdeネットニュースが
出てきます。

 メーラーdeネットニュース側でエラーが起きると、たぶんそこで何らかのエ
ラーを表示すると思いますが、一応、送受信が終わった扱いになってからエラー
メッセージが出ているようでして、その後、秀丸メール側から終了用のWM_CLOSE
をPostMessageすると、ちゃと終了しているようです。

 なので、一応今の状態でもそんなにまずいことは無いと思います。

 エラーが出ている場合は、メーラーdeネットニュースのメインウィンドウの上
に何かPopupウィンドウが出ているはずなので、例えばGetLastActivePopup関数
を使ってそういうエラーメッセージが出てるかどうかは確認できると思います。
しいて必要でしたら、それでチャックして、「メーラーdeネットニュース側で何
かエラーメッセージが出ているようです。」みたいなエラーを秀丸メール側で出
す手もありますけど。

> それから余談ですが、メーラーdeネットニュースのプラグインは、受信機能は必
> 須なんですが、送信機能はオプションになっていて、例えばIMAP4プラグインは
> 受信機能しかありません。従って秀丸メールの設定も、SMTPサーバーはメーラー
> deネットニュースを指さないことになります。この場合秀丸メールではIMAP4の
> 設定を設定済みとは認識してくれないようです。

 IMAP4プラグインはテストしてませんでした。なので詳しい状況が分からない
です。その辺テストしてみます。

 ちなみに僕の作ったメーラーdeネットニュースの制御関係の処理は、なんでし
たらソースコードごと差し上げます。以下のようなクラスがあって、それのソー
スコードが200行程度です。

class NN2M {
    CMultiString  mstrAccount;
    char    szTargetAccount[MAX_PATH];
    char    szFolder[MAX_PATH];
    char*   pchBaseName;

    int     nPop3Port;
    int     nSmtpPort;
    BYTE    fResident;
    BYTE    fTeikikido;
    HWND    hwnd;

    NN2M();
    BOOL GetInfo();
    void GetAccountInfo();
    int     nAccountIcon;       // アカウント毎情報
    BOOL    fWriteable;         // アカウント毎情報
    BOOL StartProgram();
    BOOL FindWindow();
    BOOL StartTransmit();
    BOOL IsTransmitting();
    void CloseProgram();
    BOOL IsAccountAlreadyRegisted( char* pszNN2MAccount );
};

[ ]
RE:09647 メーラーdeネットニュース連携でNo.09648
ポン太 さん 05/08/30 14:22
 
秀まるお さん、こんにちは。ポン太 です。


> なので、一応今の状態でもそんなにまずいことは無いと思います。

了解です。
メーラーdeネットニュースが秀丸メールとの連携時に止まったという話があった
ので、問題の切り分けがひとつできました。


>かエラーメッセージが出ているようです。」みたいなエラーを秀丸メール側で出
>す手もありますけど。

いえ、最小化されているのでしたら、ここまでは今のところ必要ないと思います。


> IMAP4プラグインはテストしてませんでした。なので詳しい状況が分からない
>です。その辺テストしてみます。

よろしくお願いします。


> ちなみに僕の作ったメーラーdeネットニュースの制御関係の処理は、なんでし
>たらソースコードごと差し上げます。以下のようなクラスがあって、それのソー
>スコードが200行程度です。

お願いします。連携の問題が出たときの参考にさせていただきます。
メールで送っていただけるのでしたら、xxxxxxxx@nifty.com あてでお願いしま
す。


2005/08/30(火) 14:17 ポン太

[ ]
RE:09648 メーラーdeネットニュース連携でNo.09649
秀まるお さん 05/08/30 16:28
 
 IMAP4用アカウントでの話の意味が分かりました。IMAP4の場合は、つまり送信
する側については普通のアカウントと同じような設定項目の指定が必要なのです
ね。

 IMAP4の場合専用に、アカウントの新規作成ウィザードを改良してみます。

[ ]
RE:09649 メーラーdeネットニュース連携でNo.09650
秀まるお さん 05/08/30 17:03
 
 ついでに、メーラーdeネットニュースが何かダイアログボックスなりエラーメ
ッセージなりを出している時には、それはそれで「メーラーdeネットニュースが
作業中…」みたいなエラー扱いにするように直します。

 ダイアログボックスなりメッセージボックスなりを出してる最中にメーラーde
ネットニュース本体に対してPostMessageすると動作がおかしくなるのかもしれ
ないと、今さら思いました。

[ ]
RE:09649 メーラーdeネットニュース連携でNo.09651
ポン太 さん 05/08/30 19:07
 
秀まるお さん、こんにちは。ポン太 です。

> IMAP4用アカウントでの話の意味が分かりました。IMAP4の場合は、つまり送信
>する側については普通のアカウントと同じような設定項目の指定が必要なのです

です。


> IMAP4の場合専用に、アカウントの新規作成ウィザードを改良してみます。

理想を言わせてもらえれば、plugin.iniからどの*.x2mを使っているか分かるは
ずなので、それをLoadLibraryしてSendAllがExportされているかどうかで判断す
るのが確実です。で、すぐにFreeLibraryすると。
あくまでも理想ということで、どうするかはまるお さんにお任せします。

ちなみに受信する方のReceiveAllは必須なので、こちらは考慮する必要がありま
せん。


2005/08/30(火) 18:52 ポン太

[ ]
RE:09651 メーラーdeネットニュース連携でNo.09653
秀まるお さん 05/08/31 14:12
 
 現状で、メーラーdeネットニュースの設定ファイルなどを勝手に参照してやっ
てますが、将来メーラーdeネットニュース側の仕様変更とかがあるとそれに合わ
せないといけないリスクもあります。なので、あんまり深い所まで探りを入れる
のはよくないかなぁと思います。

 とりあえず、普通は読み取りだけ出来ればまぁいいんじゃないかということで、
現状のままにしておきます。

[ ]