送信済みメールを送信元のフォルダに保存No.00425
hajime さん 09/04/13 15:51
 
山紫水明 さま
標記マクロ大変便利に使っております
このたびエラーの報告とご相談です。
Ver.1.09β
HMM Ver.5.15
です。

送信時マクロ処理と自動送受信がかぶったためと思われますが、
「送受信してる最中にEnvChanged関数が呼ばれました。
EnvChanged関数は失敗しました。」
というエラーが出ます。
フォルダ表示関係の対策の絡みだと思うのですが、
充分にどうさの詳細を理解していないので少し気になります。
とりあえず、送信済みフォルダは「表示する」で運用する、あるいは、
「自動送受信をしない」で運用する方が確実でしょうか。

#いつも、例外的な運用事例のことばかりで申し訳ありません。

[ ]
RE:00425 送信済みメールを送信元のフォルNo.00426
山紫水明 さん 09/04/13 20:44
 
 hajimeさん,

>送信時マクロ処理と自動送受信がかぶったためと思われますが、
>「送受信してる最中にEnvChanged関数が呼ばれました。
>EnvChanged関数は失敗しました。」
>というエラーが出ます。

 受信の最中にこのマクロが実行されると多分失敗するはずです。マクロの最初
の方 loaddll "tkinfo.dll";
のすぐ後に
if( dllfunc( "IsTransmitting" ) ) {//Ver.1.10βで追加
    message "送受信中ですのでマクロは実行できません。\n送受信終了後に再送信
してください。";
    endmacro;
}
を追加してみてください。

     では, (^^)/~
                                    山紫水明
                                    SANSHISUIMEI


[ ]
RE:00426 送信済みメールを送信元のフォルNo.00427
hajime さん 09/04/24 07:09
 
山紫水明さま
ありがとうございました。御指摘の通り書き換えて使っております。
このたびは、また別の問題です。
それは開封通知についてです。
開封通知を返信した直後に、返信操作などを行うと、
開封通知メール(送信メール)が、誤振り分けされます。
あるいは、マクロで振り分け動作が期待される
返信メールが振り分けされずに、開封通知メールが
その期待されるはずの場所に振り分けされる、という
現象かもしれません。
現象の精確な発生条件や経過が特定できていませんが、
もしこれだけの報告で何か対策が検討可能でしたら、
よろしくご検討ください。
いつも問題ばかりあげて、申し訳ありません。


[ ]
RE:00427 送信済みメールを送信元のフォルNo.00428
山紫水明 さん 09/04/27 22:12
 
 hajimeさん,

 前回の修正は
if( dllfunc( "IsTransmitting" ) ) {
    message "送受信中ですのでマクロは実行できません。\n送受信終了後に再送
    信してください。";
    #n = dllfunc( "SetCancel", 1);//これを追加
    endmacro;
}
とすべきところだったと思いますので,訂正します。ただし,こういう事例に出く
わしたことはないので,本当にに正しいかどうかはよくわかりません。

>開封通知を返信した直後に、返信操作などを行うと、
>開封通知メール(送信メール)が、誤振り分けされます。

 私は開封通知メールは基本的に出さない習慣ですので,こちらは余計に見当が
つきません。「誤振り分け」とはどういう状態でしょうか。送信メールが送信元
に保存されないということでしょうか。

     では, (^^)/~
                                    山紫水明)
                                    SANSHISUIMEI

[ ]
RE:00428 送信済みメールを送信元のフォルNo.00429
hajime さん 09/04/28 02:22
 
山紫水明さま
>    #n = dllfunc( "SetCancel", 1);//これを追加
了解しました。

> 私は開封通知メールは基本的に出さない習慣ですので,こちらは余計に見当が
>つきません。「誤振り分け」とはどういう状態でしょうか。送信メールが送信元
>に保存されないということでしょうか。

実は私も基本的に出さない習慣なのですが、
先日誤って(?)出してしまった際に遭遇した現象で、
条件や現象の詳細が曖昧になってしまっておりました。
曖昧なまま報告してしまい申し訳ありません。

送付済みの開封通知メールを見ると、
受信したメールを参照する
References:
がついています。そして、
Subject:  開封通知: ××××××××××××××××
というようなタイトルのメールになっています。

開封したとたんに開封通知を送るかと問われますので、
その時に「yes」と応じると、上記のようなメールが送られ、
それが「送信済み」フォルダに保存されます。

このあとが少し曖昧なのですが、
1)その後上記当該メールへの返信のメールを編集し、
  送信したときに、
  当該メールが振り分けされるかわりに
  開封通知メールが振り分けされてしまう
なのか
2)その後別のメールへの返信メールを編集し、
  送信したときに、
  当該メールが振り分けされるかわりに
  開封通知メールが振り分けされてしまう
なのか、
何れにしても、なにか予想外の事態が生じたという
ことは確かだったのですが。

何れにしても、いずれ開封通知メールを要求するメールを
自分宛に送って実験してみます。

[ ]
RE:00428 送信済みメールを送信元のフォルNo.00430
hajime さん 09/05/01 11:22
 
テストしてみました

開封通知メールが「送信済み」フォルダに保存されている
返信メールが「メールの振り分け」設定で別のフォルダに移動する
という条件が整うと、
開封通知メールが、
「メールの振り分け」設定がされていなかった場合に、
返信メールが振り分けされるだろうところのフォルダに移動する
という動作をする。
というものでした。

上記、返信メールが、開封通知メールと関連がないメールの場合、
開封通知メールが関連のないフォルダに移動することが生じることも
あるようです。

これは、開封通知メールに関係なく生じる現象のようです。

メールAが「送信済み」フォルダに保存されている
メールBを送信時マクロが働くが
 「メールの振り分け」設定のためメールBは別のフォルダに移動する
という条件が整うと、
メールAが
「メールの振り分け」設定がされていなかった場合に、
メールBが振り分けされるだろうところのフォルダに移動する

開封通知も普段は使わないですし、
私の場合「送信済み」フォルダは普段空なので、
滅多に生じない現象なのですが。


[ ]
RE:00430 送信済みメールを送信元のフォルNo.00431
山紫水明 さん 09/05/03 09:19
 
 hajimeさん,

>開封通知メールが「送信済み」フォルダに保存されている
>返信メールが「メールの振り分け」設定で別のフォルダに移動する
>という条件が整うと、
>開封通知メールが、
>「メールの振り分け」設定がされていなかった場合に、
>返信メールが振り分けされるだろうところのフォルダに移動する
>という動作をする。
>というものでした。

 「開封通知」がらみの問題は,厳密に言えば,マクロとしてはバグといえるか
も知れませんが,私自身「開封通知」は「無視する」に設定していることもあり,
とりあえずこのままにさせていただきます。

> 「メールの振り分け」設定のためメールBは別のフォルダに移動する
>という条件が整うと、
>メールAが
>「メールの振り分け」設定がされていなかった場合に、
>メールBが振り分けされるだろうところのフォルダに移動する

 これは以前からご指摘も問題と関連しているかも知れませんね。
 マクロの153行目前後を

if(#m == 0 && #n == 0 ) {
    if( #time ) #n = dllfunc( "SetAutoPushTimerMilli", #time * 2 / 3 );
    message "振り分け設定などに従いました。";
} else {
    #move = dllfunc( "Move", "", $rootfolder );
}

のようにして試してください。

     では, (^^)/~
                                    山紫水明
                                    SANSHISUIMEI

[ ]
RE:00431 送信済みメールを送信元のフォルNo.00432
hajime さん 09/05/07 16:52
 
山紫水明さま いつもご丁寧にありがとうございます

if(#m == 0 && #n == 0 ) {
    if( #time ) #n = dllfunc( "SetAutoPushTimerMilli", #time * 2 / 3 );
    message "振り分け設定などに従いました。";
}
#move = dllfunc( "Move", "", $rootfolder );



if(#m == 0 && #n == 0 ) {
    if( #time ) #n = dllfunc( "SetAutoPushTimerMilli", #time * 2 / 3 );
    message "振り分け設定などに従いました。";
} else {
    #move = dllfunc( "Move", "", $rootfolder );
}

と、移動処理をelse文に入れるというものですね。
上記の改造を加えましたところ、
開封通知の挙動も含めて
今回の条件にあたる予期せぬ振り分けは発生しなくなりました。
しばらくこれで運用してみます。ありがとうございました。

[ ]
RE:00432 送信済みメールを送信元のフォルNo.00433
山紫水明 さん 09/05/07 20:57
 
 hajimeさん,

>開封通知の挙動も含めて
>今回の条件にあたる予期せぬ振り分けは発生しなくなりました。

 もしかしたら開封通知にともなう誤動作も解消するかなと期待していましたの
で,同時に解決できてよかったと思います。
 バージョンアップ版としておきます。

     では, (^^)/~
                                    山紫水明
                                    SANSHISUIMEI


[ ]