Dip.PicoLix
ピコリックス
Crenazumina BBS picolixホームへ
.....

[home]>[Crenzumina BBS]



| 一覧に戻る|

2005.05.13 Fri 08:59
添付ファイルに関して  (zzr)
 
 作者さま
 smail(Ver.4.01)を利用させていただいております。
 
 表題の通り、添付ファイルに関する質問なのですが、
 Windows のタスクを利用して、あるソフトの2つの
 ログの送信を行っています。
 
 この際、どちらかのログが無い場合もあるのですが、
 1つのファイルが存在しない場合、メール送信できない
 ようなのです。
 
 このような、場合の対策は何か無いものでしょうか。

2005.05.13 Fri 12:54
re: 添付ファイルに関して  (eva)
 
  管理人Evaです。こんにちは。
 SMAILご利用ありがとうございます。
 
 ご指摘のように、添付ファイルがない場合は、SMAILの方で
 ”添付ファイルがない”というエラーで終了させています。
 これを回避するには、
 1) 1つのLOGに対してsmailを1つ対応させる。
  欠点:
   ・メールが複数来ます。
   ・添付ファイルがない時には、メールが来ないので、障害でメールが
    来てないのか、ファイルが無かったから来てないのか不明。
 2) smailを呼び出すプログラムで、存在するファイルを、チェックして、
   -aオプションに記述する。
  欠点:
   ・プログラム作成・改造の必要がある。
 3) batファイルにてファイルの有無で判断して、それぞれsmailを呼び出す。
  欠点:
   ・サンプルのプログラムは2つのファイルにて記述しています。
    3,4つに増えると作り直さないといけない。面倒。
 
 とりあえず、3)にて処理されてはどうでしょうか?
 タスクに設定してある、smailまたは、smailを呼び出しているアプリケーション
 を、sample.batに置き換えれば、動作すると思います。
 
 
 [sample.bat]
 
 REM ---ここから---
 echo off
 if not exist c:\temp\test1.log goto CHECKLOG2
 if not exist c:\temp\test2.log goto LOG1ONLY
 
 REM ### 両方ある時 ###
  c:\temp\smail -s"LOG1とLOG2" -a"c:\temp\test1.log,c:\temp\test2.log" -hxxxxxxx xxx@xxx.xxx.xx
  goto END
 
 REM ### test1.logのみある時 ###
 :LOG1ONLY
  c:\temp\smail -s"LOG1のみ" -a"c:\temp\test1.log" -hxxxxxxx xxx@xxx.xxx.xx
  goto END
 
 REM ### test2.logのみある時 ###
 :CHECKLOG2
 if not exist c:\temp\test2.log goto NOTHING
  c:\temp\smail -s"LOG2のみ" -a"c:\temp\test2.log" -hxxxxxxx xxx@xxx.xxx.xx
  goto END
 
 REM ### 両方ない時 ###
 :NOTHING
  c:\temp\smail -s"LOGはありませんでした。" -hxxxxxxx xxx@xxx.xxx.xx
 :END
 REM ---ここまで---

2005.05.13 Fri 16:40
re: 添付ファイルに関して  (zzr)
 
 Evaさん、こんにちは
 
 わざわざ、サンプルのバッチまで記載していただいて
 ありがとうございます。
 
 やはり現状では、この方法しかないようですね。
 やってみます。
 
 勝手では有りますけど、時期 Version の要望として、
 
 添付ファイルが存在しない場合、「○○○ファイルが存在しない」と
 いう文面を本文に記載できるようになればと思います。
 
 
 要望リストの片隅にでも置いていただければ、幸いです。
 それでは、失礼いたします。

2005.05.14 Sat 22:00
re: 添付ファイルに関して  (eva)
 
 Evaです。
 
 【勝手では有りますけど、時期 Version の要望として、
 【添付ファイルが存在しない場合、「○○○ファイルが存在しない」と
 【いう文面を本文に記載できるようになればと思います。
 【要望リストの片隅にでも置いていただければ、幸いです。
 
 了解しました。要望リストに入れときます。。