如何找出安装的邮件程序/发送电子邮件?

我试图找出哪些电子邮件程序(如果有的话)在我的服务器上发送电子邮件。 我的雇主有几台服务器,其中大部分使用sendmail ,但在我们的两台服务器上,我没有find一个电子邮件程序,但不知何故电子邮件已经发送了? 我不想只是安装sendmail如果已经设置,我只是不确定如何找出什么是设置。 服务器是Ubuntu Server 12.04 LTS ,而且我正在使用PHP mail()命令。

我可以find的唯一的信息来回答我的问题是思南的问题: 如何找出什么程序发送电子邮件 。 我试了两个答案,没有发现任何东西。

which mail什么都不做,而且/var/log/mail.log是完全空的。

我尝试使用strace ./mail-testing-strace.php来查看当这个文件被执行时发生了什么,但是我一直得到“权限被拒绝”,就像下面这样:

 execve("./mail-testing-strace.php", ["./mail-testing-strace.php"], [/* 19 vars */]) = -1 EACCES (Permission denied) dup(2) = 3 fcntl64(3, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE) fstat64(3, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb77ca000 _llseek(3, 0, 0xbfa1ae34, SEEK_CUR) = -1 ESPIPE (Illegal seek) write(3, "strace: exec: Permission denied\n", 32strace: exec: Permission denied ) = 32 close(3) = 0 munmap(0xb77ca000, 4096) = 0 exit_group(1) = ? 

文件mail-testing-strace.php是非常基本的,只是有代码:

 <?php $to = "[email protected]"; $subject = "Emailing Test"; $message = "This is a test, is it working?"; mail($to,$subject,$message); ?> 

有可能我没有正确使用strace ,因为这是我第一次尝试使用它。 我尝试了一个服务器,我知道sendmail安装并获得相同的消息。 我也尝试以root用户身份运行strace ,但仍然没有成功。

你可以试试

 $ dpkg -S `which sendmail` 

我相信postfix是Ubuntu的默认MTA。 它的主要configuration文件是/etc/postfix/main.cf

其他可能有帮助的命令:

 # netstat -tanpl|grep :25 # lsof -i :25 

希望这可以帮助。