目前分公司的mail server 是使用sendmail
之前中華電信跟我們說 我們在發垃圾郵件
但是我有去測試過我們的mail server 沒有open realy
我可以怎樣去做查詢是serveer的問題
還是user端的問題
或者是說如果我將sendmail 改成Postfix
我要怎樣去做
需要注意哪些地方
原本的user的資料是不是還會在
我的linux系統是 fedora core 5 的版本
有人可以跟我說改怎麼去做
或者是要找哪方面的資料
不會linux的 網管
謝謝
確認哪個IP發垃圾信
如果可以的話,請ISP提供垃圾信的原始檔,
才看得出,所謂的垃圾信是怎樣子、
更重要的是才看得出原信件中的原始發信IP。
一般linux Mail server是設成以IP為範圍為依據,
來提供寄信的服務,所以無法從寄信記錄直接知道是誰寄,
最多只知從何IP發信;
除非是設成要用帳號密碼認證,
較能確認是誰寄的。
快查哪個IP寄最多信
如果一時無法獲得上述的原始圾垃信資料,
從 mail server 上的記錄檔來查,
看哪個 IP 的寄信記錄多,
可利用以下簡單的 script 來看哪個IP 寄信記錄多。
先 cd /var/log
用 nano 或 pico 簡單的編輯器編一個叫 count_from.pl 的檔案,
貼上以下內容:
<pre class="c" name="code">
$filename = ARGV[0];
%count=();
open(FH,"./$filename");
while(<FH>) {
chomp;
if ($_ =~ m/from/) {
$_ =~ m/.*\[(.*)\].*\[(.*)\].*/ ;
$iptimes = $2;
$count{$iptimes}++;
#print "$iptimes -- $count{$iptimes}\n"
}
}
close(FH);
@sortvalue = sort { $count{$a} <=> $count{$b} } keys %count;
foreach $timess (@sortvalue) {
print "$timess --> $count{$timess}\n";
}
然後
<pre class="c" name="code">
perl count_from.pl maillog
# 若跑太長太快,可用以下指令來分頁
perl count_from.pl maillog | less
可跑出在 maillog 檔裡,
哪些 IP 寄了幾封信。
建議
換 postfix 卻仍以 IP 範圍為允許寄信的條件,
同樣的問題一樣可能會出現。
如果沒有為 sendmail, postfix 做額外功能設定的話,
換不換 postfix,應該影響不大,
除非在這些 mail server 上再加上 過濾相關機制。
如果 對 linux 是新手,
又要把公司正在運作 mail 服務的 linux 做調整的話,
建議改用 本站右邊的 Openfind 或 SunGate 的整合郵件軟體解決方案。
最好找一台 PC 來安裝測試上述的軟體,
再取代原有的 Mail Server。
因這些 web 界面的管理機制,
應都把大部份的需求都考慮到了。
而不用冒險在 Linux 上即學即用在 公司的服務上。
如果也不想用維護另台PC裝mail軟體的話,
或者買硬體的 mailbox 也可行,
這樣就不需在 mail server 上花太多心力。
我照以上做
syntax error at count_from.pl line 1, near "ARGV["
Execution of count_from.pl aborted due to compilation errors.
看來第一列有問題說