我有一个安装了邮件服务器的WindowsServer2008。对于收到的每一封电子邮件,都会启动一个C#应用程序,通过一组可选的过滤器将邮件传送出去,然后决定是否让邮件通过。
SAWin32
). 当我直接从命令行启动SpammAssassin时,电子邮件得到了正确的分析:
spamassassin.exe -L -e < C:\SPAM.MAI
(-L仅启用本地测试,-e如果测试的邮件是垃圾邮件,则以非零值退出)
但是当我尝试从我的C应用程序启动它时,它似乎不起作用,因为返回值总是等于2(即使对于ham消息也是如此):
Process proc = new Process();
proc.StartInfo.FileName = @"C:\spamassassin.exe";
proc.StartInfo.Arguments = " -L -e < C:\SPAM.MAI";
proc.StartInfo.CreateNoWindow = false;
proc.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
proc.Start();
proc.WaitForExit();
int exitCode = proc.ExitCode;
Console.WriteLine("Exit code: " + exitCode);
proc.Close();
谢谢!