一、基礎配置
1.需要兩臺環境純淨的虛擬機
2.更改主機名分別爲 westos-mail.westos.com 和 qq-mail.qq.com
3.配置兩臺虛擬機的yum源,使兩臺虛擬機可以下載服務
******在westos-mail主機中的操作:**********
*)安裝bind服務並開啓
yum install bind -y ##下載bind服務
systemctl start named ##開啓服務
*)vim /etc/named.conf
*)vim /etc/named.rfc1912.zones
*)cd /var/named
cp -p named.localhost westos.com.zone ##複製模板文件。-p不改變文件權限複製
vim westos.com.zone
##對westos.com域進行解析
cp -p westos.com.zone qq.com.zone
vim qq.com.zone
##編輯qq.com.zone解析文件。將文件中的westos更換成qq,將解析的ip地址改爲qq-mail.qq.com的ip即可,
###以上所有操作完成了對westos.com 和 qq.com的域名解析
systemctl restart named ##重啓named服務
*)vim /etc/resolv.conf
##在兩臺虛擬中編輯resolv.conf文件,更改dns解析地址
測試:
dig -t mx qq.com
dig -t mx westos.com
二、postfix
1.postfix提供smtp協議用來投遞郵件
默認端口25
mail [email protected] ##郵件接收方
Subject : hello ##郵件標題
hello world ##郵件內容
. ###“.” 用來結束錄入內容併發送
mailq ##查看郵件隊列,郵件是否發送成功
##上圖表示發送失敗,原因是qq.com主機的25端口沒有開放,拒絕連接
*)查看25端口使用情況的命令
netstat -antlpe | grep master
##上圖表示該主機中的25端口對所有人開放,默認情況下25端口只對127.0.0.1內循壞上開啓
2.配置
*) vim /etc/postfix/main.cf
##接收郵件結尾字符的指定
##25端口開啓的網絡接口
##指定郵件來源結尾(@後面的字符內容)
## 76行## 指定mta主機名稱
## 83行## 指定mta域名
編輯完成後:
systemctl restart postfix ##重啓postfix服務
systemctl stop firewalld ##關閉火牆服務
三、 郵件別名及郵件羣發
1.郵件別名
vim /etc/aliases
soo: root ##郵件別名更改
別名 真名
測試:
##利用別名給[email protected]發送郵件
##郵件接收成功
2.郵件羣發
vim /etc/aliases
moreuser: :include:/etc/postfix/moreuser
別名 :include:filename
vim /etc/postfix/moreuser #3郵件將羣發給該文件中的用戶
user1
user2
郵件羣發測試:
mail [email protected]
##發送成功
##root用戶接受郵件成功
##student用戶接受成功
四、遠程控制主機發送郵件
1.yum install telnet
telnet 172.25.254.128 25 ##利用25端口遠程控住128主機
mail from:[email protected] ##從westos主機中發送郵件
rcpt to:[email protected] ##由qq主機接受郵件
data ##開始郵件編寫
##郵件接受驗證: (成功接收)
1.限制客戶端登錄
vim /etc/postfix/access
##禁止172.25.254.151主機遠程連接
postmap /etc/postfix/access ##加密access文件,機密會後會生成一個access.db文件
測試:利用151主機遠程連接128並進行郵件發送
##發送失敗,權限不夠無法發送
2.限制用戶發送
[email protected] REJECT ##禁止student用戶發送
postmap /etc/postfix/sender ##加密sender文件
測試:
3.限制用戶接收
vim /etc/postfix/main.cf
##禁止[email protected]用戶接收郵件
postmap /etc/postfix/recip ##加密配置文件
systemctl restart postfix ##重啓服務
測試:
##[email protected]用戶可以發送郵件
##[email protected]用戶不能接收郵件
六、出站地址僞裝及入站地址轉換
1. postconf -e "smtp_generic_maps = hash:/etc/postfix/generic"
vim /etc/postfix/generic
##真用戶名 ##僞裝後用戶名
postmap /etc/postfix/generic ##加密文件
systemctl restart postfix
測試:
發送郵件
接收郵件
postconf -e "virtual_alias_maps = hash:/etc/postfix/virtual"
vim /etc/postfix/virtual
[email protected] [email protected]
虛擬名字 真實名字
postmap /etc/postfix/virtual ##加密文件
systemctl restart postfix ##重啓服務
####在westos主機上對soo.com 這個域名進行解析配置
測試:
##利用qq給[email protected] 發送郵件
*********
##郵件接受成功
七、 dovecot
1.dovecot 用來提供收件協議
pop3 110
imap 143
imaps 993
pop3s 995
給定用戶名稱,用戶密碼,dovecot程序代我們去去看郵件
2.yum install dovecot -y ##安裝dovecot服務
vim /etc/dovecot/dovecot.conf
24 protocols = imap pop3 lmtp ##使用的協議
48 login_trusted_networks = 0.0.0.0/0 ##允許所有網絡登錄
49 disable_plaintext_auth = no ##開啓明文驗證
30 mail_localtion = mbox:~ /mail:INBOX=/var/mail/%u ##郵件存放地址
systemctl restart dovecot ##重啓服務
#####
建立用戶soo並切換到soo用戶
mkdir mail/.imap/ -p ##遞歸在soo家目錄下建立mail .imap 目錄
touch mail/.imap/INBOX ##在.imap目錄下建立INBOX文件
測試:
在別的主機安裝 yum install mutt -y 安裝 mutt服務
mutt -f pop://[email protected]
####按o 輸入密碼進入
八、雷鳥郵件接收的應用
*)找到雷鳥安裝包,安裝雷鳥
*)在應用中找到雷鳥並打開
九、利用數據庫對郵件存放進行管理
1.mv /etc/postfix/main.cf /mnt/ ##備份main.cf文件到mnt目錄
yum reinstall postfix -y ##重新安裝postfix生成新的main文件
安找###postfix##配置main.cf文件
yum install httpd php php-mysql mariadb-server -y #安裝所需服務
systemctl start mariadb ##開啓數據庫服務器
vim /etc/my.cnf
skip-networking=1
2.安裝php服務,利用網頁管理數據庫在數據庫中建立新的庫及表,網頁管理數據庫方法請查找以前的博客
3.mysql -uroot -predhat ##root用戶進入數據庫
create user postuser@localhost identified by 'postuser' 建立新的數據庫用戶本地postuser,密碼爲postuser
grant select,update,insert on mail.* to postuser@localhost; ##給予postuser用戶權限
4.vim /etc/postfix/mailuser.cf
vim /etc/postfix/maildomain.cf
vim /etc/postfix/mailbox.cf
5.配置postfix
groupadd -g 311 vmail ##建立vmail組
useradd -s /sbin/nologin -u 311 vmail -g 311 ##建立用戶vmail
vim /etc/postfix/main.cf
測試:mail [email protected] ##給[email protected]用戶發送郵件
cat /home/vmail/mnt/soo.com/soo/new/
十、dovecot+mysql
yum install dovecot dovecot-mysql -y ##安裝郵件接收軟件
vim /etc/dovecot/dovecot.conf ##配置主配置文件
24 protocols = imap pop3 lmtp ##支持的認證方式 lmtp加密協議
48 login_trusted_network = 0.0.0.0/0 ##信任網絡(允許所有人連接)
49 disable_plaintext_auth = no ##允許明文認證
vim /etc/dovecot/conf.d/10-auth.conf
123 include auth-sql.conf.ext ##開啓mysql認證方式
cp /usr/share/doc/dovecot-2.2.10/example-config/dovecot-sql.conf.ext /etc/dovecot/dovecot-sql.conf.ext
vim /etc/dovecot/dovecot-sql.conf.ext
32 driver = mysql
71 connect = host=localhost dbname=email user=postuser password=postuser ##查詢時用到的庫
78 default_pass_scheme = PLAIN
107 password_query = \
108 SELECT username,domain,password \
109 FROM emailuser WHERE username = '%u' AND domain = '%d'
125 user_query = SELECT maildir, 311 AS uid, 311 AS gid FROM eamiluser WHERE username = ‘%u’ ##查詢郵件內容
vim /etc/dovecot/conf.d/10-mail.conf
30 mail_localtion = maildir:/home/vmail/%d/%n ##指定郵件位置
168 first_valid_uid = 311
175 first_valid_gid = 311
systemctl restart dovecot
測試:
十一、空殼郵件
vim /etc/postfix/main.cf
76 myhotsname = nullmail.example.com
83 mydomain = example.com
99 myorigin = westos.com ##172.25.254.128的域名
113 inet_interface = all
164 mydestination =
316 relayhost = 172.25.254.128
測試: