給未來的裕翔
如果使用postfix架設MTA的話
要把allow_postfix_local_write_mail_spool設為1
不然會造成/var/mail/user.lock
然後就收不到信了
報告完畢
Showing posts with label postfix. Show all posts
Showing posts with label postfix. Show all posts
Friday, August 13, 2010
Friday, July 2, 2010
postfix架設在fedora 13
給未來的裕翔
雖然知道每個distribution都大同小異
可是每當我自己用fedora練習時
總是會遇到幾個'小異'
都是些用redhat不會碰到的
'小異'說多不多, 個個搞死我
因此邊操作邊寫筆記
首先, 如果想要架一個可以收信的MTA by postfix
請先記得把剛剛修改過得/etc/aliases復原
以我的例子, root: xxxxx
這樣就算我把postfix設定到可以收信
在mail server的root一輩子也收不到信......
改完之後, 也別隨手newaliases, 請先到/etc之下再用
接著, 設定一個fedora 12似乎不需要的步驟?
setsebool -P allow_postfix_local_write_mail_spool 1
不過有時似乎還是會失敗?
看/var/log/maillog的訊息
把/var/mail/root.lock刪除或改名就可以了
當然, 如果一開始就不存在那就更好啦^^
以上是雜七雜八的設定
接著設定/etc/postfix/main.cf
以上是可以收信的設定
讓我驚訝的是, postfix預設幫任何人relay?
除非我反註解/etc/postfix/main.cf的
mynetworks_style = host
如果有設定mynetworks, 那上一行的設定就會被忽略
建議直接利用mynetworks作存取控管
mta只幫有紀錄的對象作relay
ex:
networks = 140.114.0.0/16
那~ /etc/postfix/access就不需要它啦~(我使用它也沒成功過)
至於postfix底下的alias, 使用跟sendmail一樣的操作即可
不需要特地變成講義上的postalias hash:/etc/aliases
大概就是這樣吧^^
雖然知道每個distribution都大同小異
可是每當我自己用fedora練習時
總是會遇到幾個'小異'
都是些用redhat不會碰到的
'小異'說多不多, 個個搞死我
因此邊操作邊寫筆記
首先, 如果想要架一個可以收信的MTA by postfix
請先記得把剛剛修改過得/etc/aliases復原
以我的例子, root: xxxxx
這樣就算我把postfix設定到可以收信
在mail server的root一輩子也收不到信......
改完之後, 也別隨手newaliases, 請先到/etc之下再用
接著, 設定一個fedora 12似乎不需要的步驟?
setsebool -P allow_postfix_local_write_mail_spool 1
不過有時似乎還是會失敗?
看/var/log/maillog的訊息
把/var/mail/root.lock刪除或改名就可以了
當然, 如果一開始就不存在那就更好啦^^
以上是雜七雜八的設定
接著設定/etc/postfix/main.cf
myhostname = nvlab179.ee.nthu
(只寫nvlab179會失敗)
mydomain = ee.nthu
myorigin = $myhostname
inet_interfaces = all
以上是可以收信的設定
讓我驚訝的是, postfix預設幫任何人relay?
除非我反註解/etc/postfix/main.cf的
mynetworks_style = host
如果有設定mynetworks, 那上一行的設定就會被忽略
建議直接利用mynetworks作存取控管
mta只幫有紀錄的對象作relay
ex:
networks = 140.114.0.0/16
那~ /etc/postfix/access就不需要它啦~(我使用它也沒成功過)
至於postfix底下的alias, 使用跟sendmail一樣的操作即可
不需要特地變成講義上的postalias hash:/etc/aliases
大概就是這樣吧^^
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是刪檔無效的離開
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
預設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
Monday, May 17, 2010
client端寄信
給未來的裕翔
從client端寄信時
因為只是client
別三八去修改/etc/postfix/main.cf的mydestination
保持預設就好
不然不管怎樣都會"成功"寄給本機的帳號
從client端寄信時
因為只是client
別三八去修改/etc/postfix/main.cf的mydestination
保持預設就好
不然不管怎樣都會"成功"寄給本機的帳號
Sunday, May 16, 2010
使用postfix寄信
給未來的裕翔
當我使用postfix寄信時
在同一台機器上寄給其他使用者
一開始會錯誤, /var/log/maillog有紀錄
原因是/etc/postfix/main.cf裡面的
mydomain的值是dorm.nthu, 無法反查, 所以信拒收
改成
myhostname是ru129.dorm.nthu, 可以反查
這樣就可以在同一機器上寄信給對方了
當我使用postfix寄信時
在同一台機器上寄給其他使用者
一開始會錯誤, /var/log/maillog有紀錄
原因是/etc/postfix/main.cf裡面的
myorigin=$mydomain
mydomain的值是dorm.nthu, 無法反查, 所以信拒收
改成
myorigin=$myhostname
myhostname是ru129.dorm.nthu, 可以反查
這樣就可以在同一機器上寄信給對方了
Saturday, May 15, 2010
dovecot, sendmail, postfix練習時哪些要開?
給未來的裕翔
當我裝好dovecot時, 啟動這項服務
原本以為它跟sendmail和postfix是同角色的
不過以alternatives --config mta來查看時
卻似乎不是
所以, sendmail和postfix至少要開啟一個才可以練習
postfix也許少設定什麼, 沒有成功
所以暫時以sendmail來練習
補充:
如果我現在要關掉sendmail開啟postfix
最好是先把sendmail服務停掉
service sendmail stop
然後再改mta
alternatives --config mta
當我裝好dovecot時, 啟動這項服務
原本以為它跟sendmail和postfix是同角色的
不過以alternatives --config mta來查看時
卻似乎不是
所以, sendmail和postfix至少要開啟一個才可以練習
postfix也許少設定什麼, 沒有成功
所以暫時以sendmail來練習
補充:
如果我現在要關掉sendmail開啟postfix
最好是先把sendmail服務停掉
service sendmail stop
然後再改mta
alternatives --config mta
Subscribe to:
Posts (Atom)