*** mail-entry.cgi 2004-12-21 10:08:07.477380837 +0900 --- mail-entry-stdin.cgi 2004-12-21 10:11:40.607681124 +0900 *************** *** 46,55 **** my $hady_phone_domain = ""; my $title_head = ""; my $quotation_marks = ""; BEGIN { # 設定ファイルのファイル名 ! $setting_file = "mail-entry_setting.cgi"; # 設定の読み出し if ( not ( open IN, $setting_file )) { --- 46,57 ---- my $hady_phone_domain = ""; my $title_head = ""; my $quotation_marks = ""; + my $stdin=1; BEGIN { # 設定ファイルのファイル名 ! $0 =~ /(.*)\/(.*)$/; ! $setting_file = "$1/mail-entry_setting.cgi"; # 設定の読み出し if ( not ( open IN, $setting_file )) { *************** *** 156,175 **** my ($blob, $sw, $sh); my $php_script = ""; ! # POP3サーバへのログイン ! my $oPop = Net::POP3->new($pop3_server) or &err_output("ログインに失敗しました"); ! my $mailCnt = $oPop->login($pop3_username, $pop3_password); ! # メッセージIDのハッシュリスト ! my $rhMsg = $oPop->list(); ! # 取得したリストをソートする ! my @rhMsg = sort { $a <=> $b } keys %$rhMsg; my $count = 0; # メールを一通ずつ処理する for ( $count = 0 ; $count <= $mailCnt - 1; ++$count ) { # 初期化 $comment = $create_date = ""; ! my $sMsgId = $rhMsg[$count]; ! my $entity = $parser->parse_data($oPop->get($sMsgId)) or &err_output("メールの読み込みに失敗しました"); my $t = time; # メールアドレスによる認証 my $mail_from = $entity->head->get('from'); --- 158,192 ---- my ($blob, $sw, $sh); my $php_script = ""; ! my $mailCnt; ! my $oPop; ! my $rhMsg; ! my @rhMsg; ! my $sMsgId; ! my $entity; ! ! if ($stdin) { ! $mailCnt = 1; ! } else { ! # POP3サーバへのログイン ! $oPop = Net::POP3->new($pop3_server) or &err_output("ログインに失敗しました"); ! $mailCnt = $oPop->login($pop3_username, $pop3_password); ! # メッセージIDのハッシュリスト ! $rhMsg = $oPop->list(); ! # 取得したリストをソートする ! @rhMsg = sort { $a <=> $b } keys %$rhMsg; ! } my $count = 0; # メールを一通ずつ処理する for ( $count = 0 ; $count <= $mailCnt - 1; ++$count ) { # 初期化 $comment = $create_date = ""; ! if ($stdin) { ! $entity = $parser->read(\*STDIN) or &err_output ("標準入力からの読み込みに失敗しました"); ! } else { ! $sMsgId = $rhMsg[$count]; ! $entity = $parser->parse_data($oPop->get($sMsgId)) or &err_output("メールの読み込みに失敗しました"); ! } my $t = time; # メールアドレスによる認証 my $mail_from = $entity->head->get('from'); *************** *** 183,189 **** } } if (!$auth_flag) { ! $oPop->delete($sMsgId); &result_err("$1 からの投稿は受け付けられません。"); $flagmessage++; next; --- 200,206 ---- } } if (!$auth_flag) { ! if (!$stdin) { $oPop->delete($sMsgId); } &result_err("$1 からの投稿は受け付けられません。"); $flagmessage++; next; *************** *** 304,316 **** print ADDON $outputfile . "\n"; close ADDON; # POP3サーバのファイルを削除 ! $oPop->delete($sMsgId); $flagmessage++; } } # end of forloop ! $oPop->quit; # ログオフ # インデックスファイルから一時ファイル名を読み出す unless (open IN, $index_file_name) { --- 322,334 ---- print ADDON $outputfile . "\n"; close ADDON; # POP3サーバのファイルを削除 ! if (!$stdin) { $oPop->delete($sMsgId); } $flagmessage++; } } # end of forloop ! if (!$stdin) { $oPop->quit; } # ログオフ # インデックスファイルから一時ファイル名を読み出す unless (open IN, $index_file_name) {