我如何知道安装/发送电子邮件的邮件程序是什么?

我如何知道安装/发送电子邮件的邮件程序是什么?

我正在尝试找出哪个电子邮件程序(如果有)正在我的服务器上发送电子邮件。我的雇主有几台服务器,其中大多数使用sendmail,但在我们的 2 台服务器上我没有找到电子邮件程序,但不知何故电子邮件已通过它发送?如果已经设置了某些东西,我不想直接安装sendmail,我只是不确定如何找出设置了什么。服务器是Ubuntu 服务器 12.04 LTS,我正在使用PHPmail()命令。

我能找到的唯一能够回答我的问题的信息是 Sinan 的问题:如何找出哪个程序正在发送电子邮件。我尝试了那里的两个答案,但一无所获。

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 的服务器上尝试了它,得到了同样的消息。我也尝试strace以 root 用户身份运行,但仍然没有成功。

答案1

你可以尝试

$ dpkg -S `which sendmail`

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

其他可能有帮助的命令:

# netstat -tanpl|grep :25

# lsof -i :25

相关内容