web-dev-qa-db-ja.com

どのメールプログラムがインストールされている/メールを送信しているのかを知るにはどうすればよいですか?

サーバーにメールを送信しているメールプログラム(ある場合)を探しています。私の雇用主にはいくつかのサーバーがあり、そのほとんどがsendmailを使用していますが、2つのサーバーでメールプログラムが見つかりませんが、どういうわけかメールが送信されていますか? sendmailだけをインストールしたくない場合は、すでにセットアップされているものがあれば、何がセットアップされているかを確認する方法がわからないだけです。サーバーはUbuntu Server 12.04 LTSであり、PHP mail()コマンド。

私の質問に答えるために私が見つけることができる唯一の情報は、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がインストールされているサーバーで試してみましたが、同じメッセージが表示されました。 rootユーザーとしてstraceを実行してみましたが、まだ成功していません。

7
skplunkerin

あなたは試すことができます

$ dpkg -S `which sendmail`

PostfixはUbuntuのデフォルトのMTAだと思います。主な設定ファイルは/etc/postfix/main.cfです

役立つ他のコマンド:

# netstat -tanpl|grep :25

# lsof -i :25

お役に立てれば。

10
user156525