MTA:郵件傳輸代理
smtp伺服器,如sendmail:單體結構,會用到suid,有安全隐患。配置檔案文法(m4)
qmail:效率超強
postfix:子產品化設計,安全,跟sendmail相容性好。
exim
exchange:windows
sasl:
cyrus-sasl
courier-authlib
MDA:郵件投遞代理
procmail
maildrop
MRA:郵件檢索代理(pop3,imap4)
dovecot
cyrus-imap
MUA:thunderbird:linux
outlook
foxmail
mutt(文本)
webmail:
openwebmail
squirrelmail:redhat
extmail
postfix+sasl|courier-authlib+mysql
dovecot+mysql
extmail(extman)+httpd
./configure報錯
yum install *devel-
cp /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib64
main.cf
參數 = 值
參數必須行首,頂格寫。以空白字元開頭的行,被認為是上一行的延續。
postconf:postfix的配置工具
-d:預設配置
-n:修改了的配置
-m:支援的查找表類型,(postfix去哪查找使用者名密碼的)
-A:支援sasl的用戶端插件類型
-e parameter=value:更改某參數,并儲存到main.cf中。
smtp---->smtpd:
1.hello
2.mail from 發件人
3.rcpt to 收件人
4.data
5 . 郵件發送結束
smtp狀态碼
1xx:說明資訊
2xx:正确類資訊
3xx:上一步操作尚未完成
4xx:暫時性錯誤
5xx:永久性錯誤
郵件别名
[email protected] [email protected]:發送給a的轉發給aa
/etc/aliases--->hash--->/etc/aliasesdb:使用指令newaliases
smtp協定原語
helo
ehlo
mail from
進行基本配置,測試啟動postfix
myhostname=mail.a.org
myorigion=a.org
mydomain=a.org
mydestination=$myhostname,localhost.$mydomain,localhost,mydomain
mynetworks=192.168.1.0/24,127.0.0.0/8
chown -R postfix:postfix /var/lib/postfix
chown root:root /var/spool/postfix
chown -R postfix /var/spool/postfix/*
chown -R postfix:postdrop /var/spool/postfix/mail
/public
chown -R root /var/spool/postfix/pid
myorigion:用來指明發件人所在域名,即做發件位址僞裝。
mydestination:用來指明postfix接收郵件時,收件人所在域名。即我的postfix要接受哪個域名的郵件
myhostname:用來指定運作postfix郵件系統的主機的主機名,預設值為本地機器名。
mydomain:用來指定我的域名
mynetworks:用來指定我所在網絡的網絡位址,postfix用其來區分是本地還是遠端使用者
inet_interface:用來指定postfix監聽的網絡接口
注意:
參數和注釋不能處于同一行
參數值不可以加引号
修改參數值後執行postfix reload,令其生效。如更改inet_interface,執行postfix restart
如果一個參數的值有多個,可以将他們放在不同的行中,隻需要在其後的每一行前加1空格字元
postfix會把第一個字元為空格或tab的文本行視為上一行的延續。
為postfix開啟使用者别名支援
1、alias_maps=hash:/etc/aliases
2、在/etc/aliases檔案中定義新的别名項。格式為冒号隔開的兩個字段,前一個為初始目标郵件位址, 後一個為實際發往的郵件位址:[email protected]:[email protected]
3、将/etc/aliases轉為hash格式:postalias /etc/aliaes
4、postfix重新reload,測試。
dovecot
支援pop3(110)和imap4(143)
兩種郵箱格式
1、mbox:一個檔案存儲所有郵件
2、maildir:一個檔案存儲一封郵件,所有郵件存儲在一個目錄中。
/etc/dovecot.conf
驗證:
telnet x.x.x.x 110
USER xxx
PASS xxx
LIST
RETR
編譯安裝dovecot
1、/etc/ssl/certs/dovecot.pem
/etc/ssl/private/dovecot.pem
2、./configure --prefix=/usr/local/dovecot --with-mysql --with-ssl=openssl
--with-ssldir=/etc/ssl
3、建立2個使用者群組:dovecot dovenull
4、cp example/conf /usr/local/dovecot/etc
5、修改10-mail.conf
mail_privileged_group = mail */var/spool/mail檔案的數組一緻
mail_location = /var/spool/mail
rpm包安裝
/etc/dovecot/conf.d/10-mail.conf *mail_location = ~/:INBOX=/var/spool/mail/%u