決まったフォーマットのCSVやTSVがメール添付で毎日届くのですが、いちいち開封するのは面倒です。

(GoogleAnalyticsのアクセス解析データなどです)

そこで、届いた添付ファイルを取り込んで、必要な情報を抜き出し
メール文中に入れて再送したいと考えています。

使うとしたらWSHかなと思うのですが中々ヒントが見つかりません。
こういったスクリプトを知っている方や作れる方は、ぜひ情報を下さい。

よろしくおねがいします。

回答の条件
  • 1人2回まで
  • 登録:2008/02/20 15:59:49
  • 終了:2008/02/27 16:00:04

回答(3件)

id:AZUY No.1

AZUY回答回数343ベストアンサー獲得回数122008/02/20 16:13:47

ポイント27pt

こんにちは


メールの受信には、BASP21 DLLをつかうと楽です。

http://www.hi-ho.ne.jp/babaq/basp21.html

id:freewriter

ありがとうございます。もう少し具体的に情報をいただけると助かります

2008/02/20 20:11:41
id:tezcello No.2

tezcello回答回数457ベストアンサー獲得回数682008/02/20 16:36:02

ポイント27pt

僕なら、

メールの宛先を手持ちのサーバの(それ専用の)アドレスとし、

.forward でスクリプトをキック、

スクリプト内で、届いたメールの処理(添付を分離するなどいろいろ)して、

別のアドレスへ送信します。


スクリプトは、そのサーバで使えればいいので、気に入った言語をインストールするだけです。

id:freewriter

すいません、色々調べたのですが不勉強で分かりませんでした。

>スクリプト内で、届いたメールの処理(添付を分離するなどいろいろ)して、

ここの具体的な手順について、もう少しお教えいただいても宜しいでしょうか。

2008/02/21 00:51:29
  • id:tezcello
    > >スクリプト内で、届いたメールの処理(添付を分離するなどいろいろ)して、
    > ここの具体的な手順について、もう少しお教えいただいても宜しいでしょうか。
    こんな手順になると思います。

    スクリプトには、標準入力を通じてデータ(=メール本体)が渡されるので、それを読み込みます。

    このデータを、最初の空行(つまり改行文字が続けて2回並んでいる所)で分けると、前半がヘッダ、後半がボディとなります。
      ヘッダは、○○○: △△△ のように書かれていて、複数行に渡る場合は2行目以降が1文字以上
      の空白文字やタブなっています。

    Content-Type: multipart/mixed; boundary="ほにゃらら~"
    添付されているものがあれば、上記のようなヘッダと値が見つかります。
    これを頼りに、メールのボディ部を分割します。
      実際の分割文字列は、上記の例であれば、--ほにゃらら~ となるようです。
      これが単独で存在する行が分割時の区切り位置です。

    欲しい情報は、決まった名前や Content-Type で送られてくるでしょうから、分割したメールボディにそれらがあるかをチェックし、目的の添付ファイルを見つけます。

    必要があればデコード等をします。

    下記をよく参考にしてます。
    http://www.atmarkit.co.jp/fnetwork/rensai/netpro03/netpro01.html
  • id:freewriter
    お礼が遅れました。ご丁寧にありがとうございました!

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません