linux收发outlook的邮件,Linux邮箱服务器配置:如何让outlook收发邮件,怎么样控制中继...
本文基于上篇文章基礎地址:http://blog.csdn.net/deansrk/article/details/6717720
outlook實現收郵件
1.首先我們查看郵箱目錄里文件的屬主和屬組
[root@mail ~]# ll /var/mailbox/a.org/gentoo/Maildir/
total 60
-rw------- 1 postfix postfix 356 Aug 23 00:52 abook.cf
drwx------ 2 postfix postfix 4096 Aug 23 00:49 cur
-rw------- 1 postfix postfix 8192 Aug 23 00:49 extmail-curcache.db
-rw------- 1 postfix postfix 6 Aug 23 00:49 extmail-curcnt
-rw------- 1 postfix postfix 24 Aug 23 00:53 maildirsize
drwx------ 2 postfix postfix 4096 Aug 23 00:49 new
drwx------ 2 postfix postfix 4096 Aug 23 00:53 tmp
# 可以看到都是postfix用戶,所以我們要訪問這些文件,必須身份是postfix,而我們在外部收發郵件的時候,使用的不是postfix用戶,那么該怎么辦呢?
2.dovcot在驗證用戶是否有權限提取郵件,驗證的是用戶自身對應的身份,而通過網頁extmail生成的用戶對應的id都是1000的用戶,那么我們如果修改這個映射關系。
vim /var/www/extsuite/extman/webman.cf
SYS_DEFAULT_UID = 2525
SYS_DEFAULT_GID = 2525
# 修改這兩項為2525這樣它對應的就是uid,gid為2525用戶,也就是postfix
id postfix
uid=2525(postfix) gid=2525(postfix) groups=2525(postfix) context=root:system_r:unconfined_t:SystemLow-SystemHigh
3.打開dovcot的debug功能來驗證是否映射變為2525
vim /etc/dovcot
auth_verbose = yes
auth_debug = yes
auth_debug_passwords = yes
log_path = /var/log/dovecot.log
# 我們這里只是為了測試,在正常應用建議不要打開,否則每一個用戶登錄都要生成日志,會給磁盤帶來很大的壓力,他們都保存在/var/log/maillog,所以我們需要單獨定義一個
#位置,防止在maillog里生成造成雜亂
service dovecot restart
4.登錄郵箱,查看日志,用戶的uid,gid是否改變(只對新郵箱用戶生效)
[root@mail ~]# telnet 192.168.0.12 110
Trying 192.168.0.12...
Connected to ns1.a.org (192.168.0.12).
Escape character is '^]'.
+OK Dovecot ready.
USER dean@a.org
+OK
PASS dean123
+OK Logged in.
Connection closed by foreign host.
dovecot: Aug 23 05:25:18 Info: auth(default): master out: USER 1 dean@a.org maildir=a.org/dean/Maildir/ uid=1000 gid=1000
# 上面的是一個老用戶,并沒有改變uid和gid
5.修改Mysql使所有用戶都生效
mysql -uroot -predhat
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| extmail |
| mysql |
| test |
+--------------------+
4 rows in set (0.00 sec)
mysql> show tables;
+-------------------+
| Tables_in_extmail |
+-------------------+
| alias |
| domain |
| domain_manager |
| mailbox |
| manager |
+-------------------+
5 rows in set (0.00 sec)
將其他虛擬用戶的映射也改為2525
update mailbox SET gidnumber=2525 WHERE uidnumber=1000;
update mailbox SET gidnumber=2525 WHERE gidnumber=1000;
SELECT * FROM mailbox\G #查看是否改成2525
修改后使用新賬號測試下
mutt命令: pop3和imaps查看郵件和加密郵件的專用工具
mutt -f mailbox # 指定mailbox
mutt -f pop://gentoo@a.org@mail.a.org
# 第一個@是郵箱帳號 第二個@后面的是郵件服務器地址
dovecot: Aug 23 21:59:34 Info: auth(default): master out: USER 6 gentoo@dean.com maildir=dean.com/gentoo/Maildir/ uid=2525 gid=2525
6.使用抓包工具tshark測試110端口的數據包
安裝:
yum install wireshark
# 只要是進出110端口的數據包都進行抓取
tshark -ni eth0 -R "tcp.dstport eq 110 or tcp.srcport eq 110"
# 測試下捕獲郵件數據包
mutt -f pop://192.168.0.12
--
# 110和143在收取郵箱和認證過程是都是銘文的,這樣在傳輸的時候都很不安全。
----------------------------------------------------------------
如何實現加密郵件?
smtps: 在投遞時加密,但是郵箱需要轉發的情況下,只要有一個不支持加密,就沒辦法加密。
SSL: 需要兩端都支持加密
S/MIME, GPG:實現端到端的郵件加密不管中間轉發了多少主機,他們看到的郵件的內容都是加密過的,只負責轉發郵件,用戶根據自己的私鑰,公鑰,單向加密算法結合起來進行揭秘
早期的smtp協議只能傳送文本,后來通過s/mime可以實現其他形式的編碼,例如base64,這樣就可以實現加密并且發送附件,只要給服務器端提供一個證書,pop3就升級為pop3s
----------------------------------------------------------------------------
1.建立ca
mkdir /etc/dovecot
mkdir /etc/dovecot/ssl
2.給dovcot頒發證書
openssl genrsa 1024 >dovecot.key
openssl req -new -key dovecot.key -out dovecot.req
openssl ca -in dovecot.req -out dovecot.pem
# dovcot需要使用ca的證書,必要的時候需要使用客戶的證書
3.編輯/etc/dovecot.conf
vim /etc/dovecot.conf
ssl_cert_file = /etc/dovecot/ssl/dovecot.pem
ssl_key_file = /etc/dovecot/ssl/dovecot.key
ssl_ca_file = /etc/dovecot/ssl/cacert.crt
protocols = imap imaps pop3 pop3s
4.修改下dns
[root@mail ~]# cd /var/named
[root@mail named]# vim dean.com.zone
pop3.dean.com. IN A 192.168.0.32
[root@mail named]# vim 192.arpa
32 IN PTR pop3.dean.com.
5.測試下發送加密郵件
mutt -f pops://gentoo@a.org@pop3.a.org
6.啟動tshark再測試下
tshark -ni eth0 -R "tcp.srcp eq 995 or tcp.dstport eq 995"
------------------------------------------------------------
中繼管理
假設在一個網段,172.16.0.0 現在只需要拒絕172.16.100.100
vim /etc/postfix/main.cnf
smtpd_recipient_restrictions = # 限定用戶
smtpd_client_restrictions = # 限定
# 上面兩種限制都支持編輯某一特定的文本,通過那個文本來限制
# vim /etc/postfix/access
#192.16.0.1 REJECT
# 你也可以自己寫一個文件
vim /etc/postfix/client
192.168.0.1 REJECT
postmap client # 需要將這個文件轉換成二進制文件才能使用
smtpd_client_restrictions = hash:/etc/postfix/client
#我們在這里使用hash格式,static格式非常慢,一般不用
# postfix默認每隔一段時間自動加載配置文件
-------------------------------------------------------------------------------------
明確指定拒絕發件人
smtpd_sender_restrictions = hash:/etc/postfix/sender # 可以定義拒絕的客戶端
vim sender #里面寫上打算拒絕的客戶端
centos@a.org REJECT # 拒絕指定用戶
@a.org REJECT # 拒絕a.org域名的所有郵件
gentoo@ REJECT # 只要是gentoo都拒絕
[root@mail postfix]# telnet 192.168.0.32 25
Trying 192.168.0.32...
Connected to mail.dean.com (192.168.0.32).
Escape character is '^]'.
220 Welcome to our mail.dean.com ESMTP,Warning: Version has been hidden!
helo mail.dean.com
250 mail.dean.com
mail from:gentoo@dean.com
250 2.1.0 Ok
rcpt to:dean@dean.com
554 5.7.1 : Sender address rejected: Access denied
總結
以上是生活随笔為你收集整理的linux收发outlook的邮件,Linux邮箱服务器配置:如何让outlook收发邮件,怎么样控制中继...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: minio 并发数_MinIO 参数解析
- 下一篇: Java高级语法笔记-库的使用(jar)