Showing posts with label sendmail. Show all posts
Showing posts with label sendmail. Show all posts

Thursday, July 1, 2010

架sendmail收信

給未來的裕翔

似乎是第一次成功用sendmail當mta

筆記記一下

首先, 安裝sendmail和sendmail-cf套件

說實在的, 我不確定sendmail-cf實質功能

改天再來測試是否必要

假設現在我有兩台電腦

一台是mail server: nvlab179.ee.nthu

一台是mail client: nvlab187.ee.nthu

先在sendmail.mc做基本設定

cd /etc/mail

vi sendmail.mc
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

把上行用dnl註解掉

然後m4 sendmail.mc > sendmail.cf

service sendmail restart

光是這樣的話, mail client寄信會被退件

"Relaying denied"

新增一個relay-domains檔

裡面寫.ee.nthu這樣會改變錯誤訊息

而且發生在mail server端

所以還需要修改local-host-names

後來發現, 直接修改local-host-names即可!!!

vi local-host-names
nvlab179.ee.nthu

使用telnet nvlab179.ee.nthu 25

mail client寄信給自己的話

自己的防火牆記得要開port 25

要設定RELAY的話

vi access

140.114.28 RELAY


然後make access.db

不需重啟sendmail

不知為啥, 如果要寫domain的話

要寫在relay-domains(預設不存在0)

vi relay-domains


.ee.nthu


然後service sendmail restart

萬一我希望, 寄給root的信都寄給使用者garbage

vi /etc/aliases


root: garbage


然後newaliases就好

注意, root不會留底 直接寄給garbage

Wednesday, June 30, 2010

哪些動作需要重啟sendmail

給未來的裕翔

make access.db之後

不需要重新啟動sendmail

新增/ettc/mail/relay-domains

需要重新啟動

修改/etc/local-host-names

需要重新啟動

Thursday, June 10, 2010

mail server雜亂小筆記2

給未來的裕翔

postfix自己有自己的控管

/etc/postfix/access

裡面的網段是192.168.0不同於samba的192.168.0.

OK表示接受收信, 但不RELAY

RELAY表示接受收信, 也幫RELAY

修改後要以postmap /etc/postfix/access使其生效

再來是/etc/aliases

我可以設定人頭戶, 寄給他們的統統寄給我指定的存在帳戶

修改後要newaliases來生效(好像postaliases也可以?)

另外

sendmail和postfix的log都是/var/log/mail

要使用sendmail的話, 除了senmail套件

sendmail-cf也要記得安裝

通常我們都是修改sendmail.mc

然後m4 sendmail.mc > sendmail.cf

在sendmail.mc裡面, 註解是dnl加一個空白鍵, #只是對齊好看罷了

另外, 在/etc/mail/local-host-named寫的是幫誰收信

如果寫AAA,BBB,CCC

那就是寄給AAA,BBB,CCC的我都收

編完立即生效

/etc/mail/access跟/etc/postfix/access很像, 也是存取控管

不過/etc/mail/access裡面會需要tag: connect, from, to

connect就是包含from, to

編完後, 要make access.db

關於那個RELAY, 什麼叫RELAY

如果我在host-252

我用telnet連到host-250

在裡面寄信, rcpt to: xxx@host-3

那這就需要RELAY

每個使用者自己的~/.forward就像是/etc/aliases一樣

簡單比較一下

postfix的postqueue -p就是sendmail的mailq

postfix的postqueue -f就是sendmail -q

至於為什麼每次寄失敗就要等一小時

那是設定在/etc/sysconfig/sendmail

最後最後, 當我們以mail看信時

r是reply

z+是下一頁, z-是上一頁

d#是刪信件

d#1-#2是連刪

q刪檔有效的離開

x是刪檔無效的離開

mail server雜亂小筆記

給未來的裕翔

預設sendmail只收localhost的信

telnet localhost 25

注意, 要把sendmail加入/etc/hosts.allow

否則在mail from:xxx@yyy就會access denied了

以telnet進入後(能進入就表示sendmail或postfix有開)

mail from:bob@yahoo.com.tw

(上面寄件者是假冒用, 可以隨便打, 別被目標mail server擋下即可)

(那個冒號前後要不要空格皆可)

rcpt to:yushiangfu@gmail.com

(上面收件者別亂打, 不然怎知有沒成功)

data

subject:test-test-test

test-content

.

quit

寄信完成!

預設是sendmail

如果要改postfix, 安裝好後

alternatives --config mta, 選postfix

chkconfig sendmail off

service sendmail stop

在alternatives裡面

*是預設, +是目前使用

postfix會用到的port不只一個

要擋的話, 針對port 25/tcp即可

/etc/mail裡面都是sendmail的東西

/etc/postfix裡面都是postfix的東西

因為/etc/mail/sendmail.cf語法太難懂

所以有了postfix, 設定檔在

/etc/postfix/main.cf

在main.cf裡面, 有幾個設定要設定

myhostname = stationX.example.com

mydomain = example.com

myorigin = $myhostname

對方收我信就是bob@stationX.example.com

如果是myorigin = $mydomain

對方收我信就是bob@example.com

如此一來, 對方回信不會直接到我電腦

MTA必須加設/etc/aliases讓收到的信自動轉給我

mydestination, 替誰收信, 預設即可

inet_interfaces = all (關鍵步驟)

原本的inet_interfaces = localhost

所以我必須也跟著telnet localhost 25

就算telnet自己public IP也不行, 現在改成all就可以了

mynetwork_style = host

上面設定是, 一堆把我(MTA)設定為smtp server的人

我只幫誰寄(relay)

還有一個設定預設不存在

smtp_hostlookup = native,dns

先看/etc/hosts再看DNS

只有postfix需要這樣設定, 因為sendmail預設會看/etc/hosts

最後最後

head_check和body_check可作可不作,過濾用

現在不作也可以後面的procmail補作

如果對方的MTA沒開導致我的信寄不出去

可以用postqueue -p查看寄不出去的信

萬一對方MTA打開了, 剛失敗的信預設一小時候才會再寄

想要馬上寄出的話, postqueue -f

Saturday, May 15, 2010

dovecot, sendmail, postfix練習時哪些要開?

給未來的裕翔

當我裝好dovecot時, 啟動這項服務

原本以為它跟sendmailpostfix是同角色的

不過以alternatives --config mta來查看時

卻似乎不是

所以, sendmailpostfix至少要開啟一個才可以練習

postfix也許少設定什麼, 沒有成功

所以暫時以sendmail來練習

補充:

如果我現在要關掉sendmail開啟postfix

最好是先把sendmail服務停掉

service sendmail stop

然後再改mta

alternatives --config mta

Friday, May 7, 2010

sendmail: local delivery

給未來的裕翔

如果想要稍微了解local端email寄信流程

mail -v bob

不過要記得在/etc/hosts.allow裡面加入127.0.0.1

當然, /etc/mail/local-host-names/etc/mail/access我也有設定

/etc/mail/local-host-names
ru129.dorm.nthu
nvlab187.ee.nthu
localhost.localdomain

/etc/mail/access
Connect:localhost.localdomain       RELAY
Connect:localhost RELAY
Connect:127.0.0.1 RELAY
From:localhost.localdomain OK

不過我不確定這些是不是關鍵

先紀錄下來而已