过期域名预定抢注

用戶名  找回密碼
 免费注册

在vps建立一個自己的接收郵件服務器

[複製鏈接]
發表於 2014-1-15 13:21:17 | 顯示全部樓層 |閱讀模式
本帖最後由 hudba 於 2014-1-15 13:26 編輯
4 Z' B& k( \% [& P! u9 Z" X, \% V4 |
有一個自己的接收郵件服務器的好處:
" D) d$ I) H& w& b7 e0 E
  • 主要是自由方便,
  • 可以有自己的域名郵箱,
  • 不求人,
  • 想多少個名字就多少個名字0 d6 C% D7 d  Y

# L/ l' x; J$ t4 V7 a發郵件相對簡單,這裡主要介紹如何使用dovecot配置一個接受郵件的服務器。2 x( h  |/ Z  G0 P. f4 f
環境:2 t/ h) ?; o8 I5 y& Z5 x; }/ Q8 ]2 l
服務器使用debian,如果不是debian,配置文件的路徑稍有差別,需要自己修改,但過程一樣。
; w& h/ L7 Y  u7 c2 u# I$ `郵件處理smtp協議使用:exim! L3 T6 u. Z" _+ |7 G4 {
郵件處理imap,pop3,lmtp協議使用:dovecot
4 X- T8 j" x. l( u! F4 C
$ b1 ^% i- \$ r3 q9 G郵件接收&閱讀原理:
, N; r7 t# |/ _* T郵件最終的投遞ip是由域名(比如yourdomain.com)裡面的mx記錄決定的。/ Z4 g$ p0 E. r
比如在namecheap裡面這樣設置後,@yourdomain.com的郵件將會由yourdomain.com的郵件服務器接收
( p, v4 P0 M: b- `; E. B' `, L mx.PNG
+ k' I( G2 }5 w. Z" C郵件發出後會以smtp協議進行投遞,發送和接受郵件的服務器都要安裝處理smtp協議的軟件,我們這裡就是exim。
: v% |# g. X( W8 d! X- o" r我們的exim收到別處來的郵件後,需要用lmtp協議把郵件存起來,這裡我們使用dovecot處理lmtp協議。
& u6 \- P0 ^) X* k* T; \% m2 h( \郵件存儲了,需要閱讀的時候,需要使用pop3或者imap協議,dovecot也會處理這兩個協議。+ v( Y5 A. O6 T5 E  l
郵件閱讀還需要客戶端,可以使用gmail或者outlook這些去和dovecot通訊下載郵件來讀。
8 y2 S9 y6 f+ e8 x, f0 b
8 O( e/ k1 x) u% C# k安裝步驟:
- E  w. N0 D) }( s1. 去namecheap裡面設置mx,把@yourdomain.com設置到你的vps上面,如上面所附圖
' Q# T/ S& U8 V7 T3 G( I7 H/ r6 I( i2 K! g7 W8 R
2. 安裝exim 和dovecot
  1. aptitude install exim dovecot-pop3d dovecot-lmtpd
複製代碼
3. 配置dovecot
" [0 \- Q- E) j+ P3 H" R7 d建立一個linux用戶專用存放郵件,這樣收到的郵件都將存到/home/vmail裡面:
  1. groupadd vmail3 f0 D1 b$ o: O( R9 I; F4 D- a1 E" O
  2. useradd vmail -r -g vmail -d /home/vmail -m -s /sbin/nologin -c "mail user"
複製代碼

9 y1 `5 D+ p8 k( s4 H" X- i8 X8 \設置郵箱賬戶
,運行:
  1. pico /etc/dovecot/passwd
複製代碼
然後輸入用戶名,密碼組合如下格式,想輸入多少賬戶就輸入多少賬戶:
  1. info@yourdomain.com:{PLAIN}mypassword
    ) ^2 K; m6 a9 h/ z- g
  2. webmaster@yourdomain.com:{PLAIN}anotherpassword* e. W3 S8 {0 y5 u
複製代碼
1 a1 s+ l9 k/ [7 S7 g4 v& h; O2 o
配置dovecot本身
,運行:
  1. pico /etc/dovecot/dovecot.conf
複製代碼
刪除原來的內容,使用如下的內容,在原來的基礎上看一下差別修改一下也成:
  1. protocols = pop34 u: e' S+ T; n4 E$ F
  2. / B: N( a  Q6 o0 @0 q
  3. # It's nice to have separate log files for Dovecot. You could do this
    : R1 a8 c; Y3 {7 m  Z9 l
  4. # by changing syslog configuration also, but this is easier.( z8 t( U, q; j7 k0 \
  5. log_path = /var/log/dovecot.log& c' Y1 x; x7 G- r0 v
  6. info_log_path = /var/log/dovecot-info.log2 K0 i8 {. U& h0 F8 b/ G/ I

  7.   s* X: S9 y" y; L& l
  8. # Disable SSL for now.
    + U2 G( l/ `) o' G; V& t$ F& I
  9. ssl = yes
    . p' q; x4 e+ j; T% K
  10. ssl_cert = </etc/dovecot/dovecot.pem
    + O  X& R8 a$ i9 j
  11. ssl_key = </etc/dovecot/private/dovecot.pem' t% C# |4 W7 F

  12. ) ~6 u' N( _( N  H
  13. disable_plaintext_auth = no
    $ G+ S# N% B/ m: B3 E+ p; f
  14. 0 j7 `; ]. Y% Z( M" w
  15. # We're using Maildir format5 P2 R. i4 _8 D/ r" H: X2 |$ o
  16. mail_location = maildir:~/Maildir! ~1 r# r% J& R! _

  17. - N) G- p6 r) R$ `0 l1 X* k
  18. # If you're using POP3, you'll need this:# v5 e( k# ~6 y; p
  19. pop3_uidl_format = %g2 S! Z' D( x8 k: @* F: a8 u  R
  20. 0 O/ m" R/ p+ k/ r" Y8 `
  21. # Authentication configuration:; U' u- O. k0 }- C' m
  22. auth_verbose = yes1 }( e# C, ]; h* C$ {* c- r
  23. auth_mechanisms = plain
    : w! a  E, c( d3 ~" {! f3 A
  24. passdb {4 f6 I0 ]# t, Y2 _5 [/ {
  25.   driver = passwd-file: ?8 S" j# N/ B. }: {$ W  J
  26.   args = /etc/dovecot/passwd
    " ]! u5 j( ?1 ]7 B: @$ }
  27. }
    - D, ]0 h# K: C  e3 s! {* B' s" |
  28. userdb {; k; }( d5 e7 Z- T
  29.   driver = static) F7 |+ D4 ]' K( J. w8 R+ M: _: I
  30.   args = uid=vmail gid=vmail home=/home/vmail/%u
    4 s4 _' `( R: c2 T2 A4 @1 n6 W
  31. }
    0 R6 u8 \& ?8 \1 d2 k* H% P4 M* }
  32. : q$ p' ?2 o* b
  33. service lmtp {( p: a+ x* W4 }. \/ C! O! [+ t
  34.   inet_listener lmtp {
    . P' D% g% U, B. _& J6 G, N- C
  35.     address = 127.0.0.1 ::1
    6 `  S1 ?0 |/ ?! \* s8 U
  36.     port = 24
    $ J2 M8 L1 u/ p" W. N; E5 s
  37.   }
    - u% Y' T+ C1 O. o! N1 u4 P7 N3 s5 b
  38. ! W. ^2 G5 c" \- a0 W  K7 G
  39.   unix_listener lmtp {
    9 H2 L8 D# G. A0 c# C" A1 p9 v. {
  40.     mode = 0666# `7 n7 x- `9 h9 F2 M
  41.   }0 \8 n  J  K- O3 I& Y9 O6 C
  42. }
複製代碼

+ Q- X- w# D, _/ E1 f, U8 d重啟服務
:
  1. service dovecot restart
複製代碼
3 m- Q& i2 r9 ^! N- h/ s2 b
檢查一下
dovecot是否已經在監聽端口:
  1. lsof -ni
複製代碼
已經可以看到在監聽pop3,pop3s,還有lmtp的24號共3個端口了。
4 H' e6 J3 |, e) q. Y dovecot-ports.PNG 5 S' b8 r* S( T! l* D0 L
: r/ [7 G, I5 b6 z
4. 配置exim:
( H" [, o5 c1 g/ i; n: z  M運行配置嚮導:
  1. dpkg-reconfigure exim4-config
複製代碼
這一個嚮導步驟比較多:
: }  u, e8 w' n) p7 h第一步要選internet site; mail is sent and received directly using SMTP
5 i8 t6 v7 I+ `2 J* _9 C然後遇到有textbox輸入的如果怕麻煩全部刪除原來內容,留空進下一步。
; O; Q1 n7 o' ~. \2 q0 H有一個問題:Keep number of DNS-queries minimal (Dial-on-Demand)? ,選默認No
  L% Y- A4 y' @6 c0 V還有一個問題:Split configuration into small files?選Yes
- C8 n2 w: u% @# [- A$ h$ n2 J4 k- o; x
配置exim進行lmtp方式投遞,運行:
  1. pico /etc/exim4/conf.d/router/900_exim4-config_local_user
複製代碼
然後把文件內容替換為:
  1. local_user:: I5 j$ F  W0 J- \
  2.         transport = dovecot_lmtp4 V! U7 d/ V8 F, B. ~7 R
  3.         domains = +local_domains" a0 u- D3 N) N9 W
  4.         driver = manualroute, H) c' h8 K( \" i
  5.         route_list = "* 127.0.0.1 byname"1 G5 L, V- X7 h; j; i7 w  W
  6.         self = send2 D1 W2 R6 Y% M/ Y
複製代碼
, b2 I" F6 ]& K. p% }; T8 Q2 X
運行以下命令,會新建一個文件:
  1. pico /etc/exim4/conf.d/transport/40_exim4-config_dovecot_lmtp
複製代碼
然後輸入以下內容:
  1. dovecot_lmtp:& q# O! H7 q" I1 `' @
  2.         driver = smtp% n9 T1 ?, Y& J. t
  3.         protocol = lmtp
    0 d+ ~4 B5 R' ^- H1 ]: x0 d
  4.         port = 24
複製代碼

  f! M8 `+ G$ z9 s1 k4 K重啟exim:
  1. service exim4 restart
複製代碼
檢查exim在公網監聽smtp端口:
  1. lsof -ni
複製代碼
exim-smtp.PNG
- ~0 A0 G$ {" C  q. G. ^一定要是*:smtp,如果只有127.0.0.1:smtp或者根本沒有smtp端口,說明配置錯誤。需要去/var/log/exim4里面看log文件排錯,另外dovecot的log也在/var/log/dovecot.log
2 d+ P. _1 Q& E' o9 m
7 |8 q% i1 {( I: F' l我使用gmail pop3作為閱讀客戶端,所以沒有用imap,如果需要可以在安裝的時候執行,應該不需要額外的配置更改:
  1. aptitude install dovecot-imapd
複製代碼

  I8 N/ P+ M4 v1 V

評分

參與人數 2點點 +6 收起 理由
冷夜追风 + 5 好复杂啊,楼主技术弟~
bethlehem + 1 鼓勵

查看全部評分

發表於 2014-1-16 07:43:01 | 顯示全部樓層
乾貨啊 以後嘗試著搭建一下          : z% p- T$ B) J, _; ~% O8 W

點評

可以自己处理邮件还是不错的,有精力的可以试一下。;)  發表於 2014-1-16 09:29
回復 给力 爆菊

舉報

您需要登錄後才可以回帖 登錄 | 免费注册

本版積分規則

过期高净值品牌域名预定抢注

點基跨境 數位編輯創業論壇

GMT+8, 2025-7-12 03:25

By DZ X3.5

小黑屋

快速回復 返回頂部 返回列表