POPサーバーに送信したメールをCGIから読み込む
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
01/11/21 15:23ID:JSsWPAv+出力結果が返信される、という類のスクリプトの書き方を
研究、というか作る必要性にせまられています。
.forwardを使って、特定のCGIに受け渡す部分までは
わかるのですがそこから先、届いたメール形式のデータを
分割して、プログラムとして扱う、という部分がかなりちんぷんかんぷんです。
CGIからsendmailを起動させて送信するプログラムはそこらじゅうにあるので
まだ勉強できるのですが、逆のもの、すなわち、届いたメールから
CGIが起動し、アクションを起こす、というものがなかなか見つかりません。
なんちやって文系プログラマーな私にアドバイスをいただける方は
いらっしゃないのでしょうか。まじ困ってます。
0007名無しさん@お腹いっぱい。
01/11/21 18:44ID:???ageんなボケ
0008名無しさん@お腹いっぱい。
01/11/21 23:37ID:???[cgi:41752] の奴っていろんなMLで見るけど、答えてもらっても
それに対しての返信は滅多に見ない。
2ちゃんねるでいえば、スレッド立て逃げのボケ。
0009名無しさん@お腹いっぱい。
01/11/22 05:44ID:???procmailとか、FMLとか見れば?
ま、いいや。
perlだったら、
my @line = <>;
すりゃ@lineにはいるよ。
@lineの解析にはMail::Internetあたりを使おう。
0010JAPU
01/11/22 07:00ID:???それの高機能版っぽい MIME::Parser ってのもあります。
さんぷる。
#! /usr/bin/perl -w
use strict;
use MIME::Parser;
use Jcode;
my $parser = new MIME::Parser;
my $entity = $parser->read(\*STDIN);
parse($entity);
sub parse
{
my $entity = shift;
my $ilv = shift || 0;
local $_;
print indent($ilv), "--------\n" if $ilv;
print indent($ilv), "[", $entity->head->mime_type("Content-Type"), "]\n";
my $type = $entity->head->mime_type("Content-Type");
if($type =~ /^multipart/i or
$type =~ /^message/i) {
foreach my $p ($entity->parts()) {
parse($p, $ilv + 1);
}
} else {
my $body = $entity->bodyhandle->as_string();
$body =~ s/^/indent($ilv)/egm;
print $body;
}
}
sub indent { " " x shift }
__END__
どうでもいいけど、2chって80番ポートがopenになっているだけでもダメなのね...
ipfwで蹴っちゃうか。
# 改行削ったので見辛いかも。
0011名無しさん@お腹いっぱい。
01/11/28 02:08ID:???俺的には十分参考になったぞ。
あ、俺は1じゃないからな(w
0012名無しさん@お腹いっぱい。
01/11/28 13:34ID:???板違いだからだろ。.forwardからプログラム起動して
なんらかの返信を返すなんてののどこにWWWやCGIがからむんじゃ。
さらに2なんか質問すら理解してない。
#ほんとにCGIの質問だったとしても単発スレは困るけどね。
0013名無しさん@お腹いっぱい。
01/12/23 11:04ID:ZDYr1MNIここ見たらどう、すでにあるよ。
おいら、これがややこしくて設置もできない厨房なので、
1の方がKENT-WEBなみに設置のしやすいcgi作成してくれること
希望。よろしくです。
0014hage
01/12/23 15:51ID:???■ このスレッドは過去ログ倉庫に格納されています