-1

Perl CGI with C++ を使用してデータベースを開発しました。結果をメールで送信する際に問題があります。次のコードを使用しました。

print LOG "[",`date`,"] Sending mail to $email\n";  
system (qq{mutt -s "MMM" -a $zip_file $email < $job_id});  
if ( $? == 0) {  
        print LOG "[",`date`,"] Sending mail to $email :: SUCCESS ::\n";  
}else {
        print LOG "[",`date`,"] Sending mail to $email :: FAILED ::\n";
}

close LOG;
4

3 に答える 3

1

Perl CGI スクリプトのトラブルシューティングを参照してください。それでも問題が解決しない場合は、少なくとも質問を作成するのに役立ち、より多くのヘルプを得ることができます.

ブライアンの Guide to Solving Any Perl Problemも好きかもしれません。

于 2009-11-13T21:48:15.713 に答える
0

どのようなエラーが表示されますか?

特に、何が入ってい$!ますか?

CGI プロセスが Mutt を実行できない可能性があります。スクリプトのユーザー ID と現在のパスをログに記録してみてはどうでしょうか。

print LOG getpwuid($<) . "\n";
print LOG $ENV{PATH} . "\n";

Mutt の実行可能ファイルの場所はパスにあり、そのユーザー (おそらく「apache」) はそれを実行する権限を持っていますか?

于 2009-11-13T09:51:52.920 に答える
0

また、システム ツールに依存する代わりに、メール サーバーと直接通信する Net::SMTP モジュールの使用を検討することもできます。これはより移植性の高いソリューションであり、パーミッションの問題全体を回避します。

于 2009-11-13T17:20:52.680 に答える