Linux
如何找出安裝/發送電子郵件的郵件程序?
我正在嘗試找出在我的伺服器上發送電子郵件的電子郵件程序(如果有的話)。我的雇主有幾台伺服器,其中大部分使用
sendmail
,但在我們的 2 台伺服器上,我沒有找到電子郵件程序,但不知怎麼的,電子郵件已經隨它一起發送了?如果已經設置了某些東西,我不想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) = ?
該文件
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 是 Ubuntu 的預設 MTA。它的主要配置文件是
/etc/postfix/main.cf
其他可能有幫助的命令:
# netstat -tanpl|grep :25 # lsof -i :25