-1

我使用 Perl CGI 和 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 脚本疑难解答。如果这不能解决您的问题,它至少会帮助您提出问题,以便您获得更多帮助。

您可能还喜欢brian 的解决任何 Perl 问题的指南

于 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 回答