CGI-BBS > データベース > 簡易データベース > data.csvを自動的に管理者に送れれば


カレッヂ
カレッヂ


質問者 Sa  投稿日 8/9(木) 00:22:31
お世話になります.

CSVエディタを利用して生成されたデータファイルdata.csvを編集出来ますが,もし,簡易データベースはこのファイルを自動的に管理者に送る機能を持っていれば大変便利だとお思います.
回答者 いのちゃん  [削除]  投稿日 8/9(木) 03:40:49
書き込みがあった時にその内容一覧を管理者が受信したいとのご意向の
ようですが以下のような状態で受信明細が期待出来ます。

http://www.kcb-net.ne.jp/ki-net/csv/csvedit.cgi
http://www.kcb-net.ne.jp/ki-net/csv/csvedit.txt

Date: Thu, 9 Aug 2001 03:20:47 +0900 (JST)
Message-Id: <200108081820.DAA02367@knight.kcb-net.ne.jp>
To: ki-net@mail.kcb-net.ne.jp
From: ki-net@mail.kcb-net.ne.jp
Subject:  data.csv

日本語,8月9日,井上,ki-net@mail.kcb-ent.ne.jp,男,60代,いのちゃん,高知県,完成
質問者 Sa  [削除]  投稿日 8/9(木) 14:05:56
早速お返事をいただき,ありがとうございました.

もう一つお聞きしたいのは,Sendmailで添付ファイルを送れますか.教えていただければと思います,よろしくお願いします.
回答者 いのちゃん  [削除]  投稿日 8/9(木) 14:18:06
>もう一つお聞きしたいのは,Sendmailで添付ファイルを送れますか.

通常のE-mailであれば当然ながら添付ファイルの送信は可能です。
が、ご質問はこれと異なった内容を意味している?のでしょうねぇ。



質問者 Sa  [削除]  投稿日 8/9(木) 14:27:26
すいませんでした.そうですね.実はお聞きしたいのは,サーバから,サーバ側のあるファイルを添付して宛先に送りたいことがCGI(Perl)で実現できますか,例えば,Sendmailでとか.さらに,ある時間間隔で自動的にそのファイルを送るとか(?).よろしくお願いします.
回答者 いのちゃん  [削除]  投稿日 8/9(木) 14:51:10
当方が現在添付ファイルを送信する場合はEudora Prov4.3-Jからのファイル
送信ですが、この場合は送付したいファイルをWinの場合では左マウスで掴んで
drag & dropしてAttachedに落とせば通常の送信と共に送付は可能です。

が、貴殿のご質問は
>送りたいことがCGI(Perl)で実現できますか,例えば,Sendmailでとか.さらに,
>ある時間間隔で自動的にそのファイルを送るとか(?)

これは全く異なったご質問になりますし当方としてもこの回答をするアイデアは
現在持ち合わせておりません。お役に立てなくて済みません。(/_;

質問者 Sa  [削除]  投稿日 8/9(木) 14:51:30
いろいろありがとうございました.
回答者 しあわせのツボ  [削除]  投稿日 8/9(木) 14:56:17
Perlからファイルをメール添付しSendmail経由で送信することは可能です。
それを一定時間ごとに、ということであれば、シェルからcrontabを使えることが条件になります。
詳しい手順はわかりかねますが、そのあたりに詳しい方がここにいらっしゃったと思います。
質問者 Sa  [削除]  投稿日 8/9(木) 18:45:01
先ほど,MIME−Liteで実現できました.例えば,簡易データベースの場合は,そのdata.csvを添付して設定した宛先に送ります.Lite.pmと言うファイルをサーバーに(同じディレクトリでいいでしょう)置く必要があります.

いのちゃん様,しあわせのツボ様とうもありがとうござました.しかし,さらにしあわせのツボ様は教えた「シェルからcrontabを使えること」をも勉強したいと思いますが,詳しい方がいらしゃったら教えていただきたいですが,よろしくお願いします.


コード:(例として!)

#-------------------------------------------------------------------------------
#!/usr/bin/perl

use lib "./";
use Lite;


### Create a new multipart message:
$msg = MIME::Lite->new(
             From    =>'admin@myhost.com',
             To      =>'i60a0245@ip.media.kyoto-u.ac.jp',
             Cc      =>'some@other.com, some@more.com',
             Subject =>'Test to sending attachment',
             Encoding =>'Base64',
             Type    =>'TEXT',
             Data    =>"Here's the Data file you wanted"
             );  
    

$msg->attach(Type     =>'text/plain',
             Path     =>'data.csv',
             Filename =>'data.csv',
             );

$msg->send || die "you DON'T have mail!";

#-------------------------------------------------------------------------------

返信(回答)する


Web裏技