当我从Perl CGI脚本调用mutt时,为什么mutt会失败?

时间:2009-11-13 06:46:15

标签: perl email mutt

我开发了一个使用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;

3 个答案:

答案 0 :(得分:1)

查看我的Troubleshooting Perl CGI scripts。如果这不能解决您的问题,它至少会帮助您提出问题,以便您获得更多帮助。

您可能也想brian's Guide to Solving Any Perl Problem

答案 1 :(得分:0)

你看到什么错误?

特别是$!

中的内容

可能是CGI进程无法执行Mutt - 如何记录脚本的用户ID和当前路径:

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

Mutt的可执行文件的位置是否在路径中,并且该用户(可能是“apache”)是否有权执行它?

答案 2 :(得分:0)

您可能还想查看使用Net :: SMTP模块,该模块将直接与邮件服务器通信,而不是依赖于系统工具。这是一种更便携的解决方案,可以避免整个权限问题。