skp*_*rin 11 email linux php ubuntu-12.04
我试图找出在我的服务器上发送电子邮件的电子邮件程序(如果有)。我的雇主有几台服务器,其中大部分使用sendmail,但在我们的两台服务器上,我没有找到电子邮件程序,但不知何故电子邮件已发送?我不希望只安装sendmail如果事情是已经建立,我只是不确定如何找出什么是安装程序。服务器是Ubuntu Server 12.04 LTS,我使用的是PHPmail()命令。
我能找到的唯一信息来尝试回答我的问题是思南的问题:如何找出正在发送电子邮件的程序。我在那里尝试了两个答案,但一无所获。
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) = ?
Run Code Online (Sandbox Code Playgroud)
该文件mail-testing-strace.php非常基本,只有代码:
<?php
$to = "chris@test.com";
$subject = "Emailing Test";
$message = "This is a test, is it working?";
mail($to,$subject,$message);
?>
Run Code Online (Sandbox Code Playgroud)
可能我没有strace正确使用,因为这是我第一次尝试使用它。我在我知道安装了 sendmail 的服务器上尝试了它并收到了相同的消息。我也尝试strace以 root 用户身份运行,但仍然没有成功。
小智 12
你可以试试
$ dpkg -S `which sendmail`
Run Code Online (Sandbox Code Playgroud)
我相信 postfix 是 Ubuntu 的默认 MTA。它的主要配置文件是/etc/postfix/main.cf
其他可能有帮助的命令:
# netstat -tanpl|grep :25
# lsof -i :25
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49572 次 |
| 最近记录: |