csmailgate & csmail

holwu

csmailgate

postfix:

virutal:

/usr/local/etc/postfix/virtual

設定各機器的root mail要寄給那些TA

/usr/local/mailman/data/virtual-mailman

mailman的設定,之後再交給alias處理

csmailgate

postfix:

alias:

nis:mail.aliases

先從nis抓aliases的資料(ex: help -> cs-ta-eval)

/etc/aliases

系統預設的aliases map

/usr/local/mailman/data/aliases

mailman的設定,把lists交給

/usr/local/mailman/mail/mailman post <list name>

csmailgate

mailman

收到後會先放進qfiles/in

Queue/IncomingRunner.py會從qfiles/in中撈信

在Defaults.py中有設定GLOBAL_PIPELINE

Queue/IncomingRunner.py會依序執行其中的Handlers

csmailgate

mailman

csmailgate

mailman

執行到ToOutgoing會把信件放到qfiles/out

Queue/OutgoingRunner.py會從qfiles/out撈信並寄出去會在post、smtp寫log

csmailgate

mailman -- cscc_scripts

rm_qfiles.py

syncML.sh

set_name.py

清理qfiles,非必要時不會用

透過nis netgroup同步mailman list

透過ldap幫mailman上的使用者加上名字

csmailgate

~user/.forward

permission must be 600

pipe to command

email address

"|/usr/local/bin/procmail"

allencat850502@gmail.com

path(mailbox)

/holwu, /dev/null

# 註解

csmailgate

mail-forward-wizard

Disable 信箱

csmailgate

mail-forward-wizard

Enable 信箱

csmailgate

mail-forward-wizard

Enable 信箱 -- Demo

csmailgate

mail quota

linux: quota -s <username>

bsd:   quota -h <username>

mailbox quota 爆掉

檢查~/.forward

有沒有forward出去?

有沒有使用procmail?

沒有則設定forward給其他email

procmail檢查完預設放入mailbox

csmailgate

procmail - procmailrc format

:0 <flag>

* <regex>

<action>

csmailgate

procmail - procmailrc flag

c: 將郵件複製一份

H: 只檢查header(預設)

B: 只檢查body

csmailgate

procmail - procmailrc action

檔案

資料夾

email

filename ($MAILDIR/filename)

dir ($MAILDIR/dir/)

! email@address

程式

|command

csmailgate

procmailrc

csmailgate

maildrop

system: /usr/local/etc/maildroprc

user: ~/.mailfilter

csmailgate

maildrop -- pattern

/regex/[:option]

option

h: 只檢查header(預設)

b: 只檢查body

w: 檢查header跟body

D: 區分大小寫(預設不區分大小寫)

csmailgate

maildrop -- 指令

to

exit 結束判斷

to filename 存到檔案

to dir 存到資料夾

to "| command" pipe給程式

cc "! mail@address" 把信寄給另一個email

xfilter "command" 修改信件內容

log "string" 寫log

csmailgate

maildroprc

csmail

postfix

使用dovecot做SASL認證

強制使用TLS

除了root外做masquerade

user@abc.cs.nctu.edu.tw -> user@cs.nctu.edu.tw

csmail

postfix

smtpd_client_restrictions 
permit_mynetworks, permit_sasl_authenticated
smtpd_recipient_restrictions 
check_client_access pcre:/usr/local/etc/postfix/allow_unauth,                      permit_mynetworks,                          permit_sasl_authenticated,             reject_unauth_destination

csmail

postfix

開啟smtps讓smtp被擋時還可以使用

開啟7788讓smtp&smtps都被擋時還可以用(csmail3)

csmail

dovecot

開放imap, imaps, pop3, pop3s

強制SSL

透過NFS把netapp4:/vol/mail mount起來

使用fcntl做lock,且timeout為300 sec

mail_location = mbox:~/:INBOX=/var/mail/%u

csmail

dovecot

csmail在讀信時會在netapp4上建立lock file

讀完信會刪掉lock file

若連線中斷,lock file不會刪除

需要登入netapp4手動刪除

只有mail組長、AllTa、PhdTa知道密碼

csmail

dovecot -- netapp4 lock file solve

priv set advanced
lock status -f                               
lock break -p NLM -h csmailN.cs.nctu.edu.tw
lock status -f
priv set

csmailgate & csmail

By allenwhale

csmailgate & csmail

  • 557