Я пытаюсь узнать, какая программа электронной почты (если есть) отправляет электронные письма на мой сервер. У моего работодателя есть несколько серверов, большинство из которых используют sendmail
, но на 2 наших серверах я не нахожу почтовую программу, но почему-то с ней отправлено письмо? Я не хочу просто устанавливать sendmail
если что-то уже настроено, я просто не уверен, как узнать, что настроено. Сервер Сервер Ubuntu 12.04 LTS, и я использую PHP mail()
команда.
Единственная информация, которую я могу найти, чтобы попытаться ответить на свой вопрос, - это вопрос Синан: Как узнать, какая программа отправляет электронные письма. Я попробовал оба ответа и ничего не нашел.
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 = "chris@test.com";
$subject = "Emailing Test";
$message = "This is a test, is it working?";
mail($to,$subject,$message);
?>
Возможно, я не использую strace
правильно, так как я впервые пытаюсь его использовать. Я пробовал это на сервере, на котором, как я знаю, установлен sendmail, и получил такое же сообщение. Я тоже пробовал бегать strace
как пользователь root, но все равно безуспешно.
Вы могли бы попробовать
$ dpkg -S `which sendmail`
Я считаю, что postfix - это MTA по умолчанию для Ubuntu. Это основной файл конфигурации /etc/postfix/main.cf
Другие команды, которые могут помочь:
# netstat -tanpl|grep :25
# lsof -i :25
Надеюсь это поможет.