过期域名预定抢注

 找回密碼
 免费注册

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

[複製鏈接]
發表於 2014-1-15 13:21:17 | 顯示全部樓層 |閱讀模式
本帖最後由 hudba 於 2014-1-15 13:26 編輯 ! i) N& i& {& Y1 E8 \5 N# h
9 ?* ]( d  Y, S( A9 w6 c* v2 M
有一個自己的接收郵件服務器的好處:! a! C3 M2 ^' D/ N+ J$ T4 r1 o
  • 主要是自由方便,
  • 可以有自己的域名郵箱,
  • 不求人,
  • 想多少個名字就多少個名字
    4 \. ?  X( h$ r# h0 B& }

5 `( y. b- {9 C* L! E發郵件相對簡單,這裡主要介紹如何使用dovecot配置一個接受郵件的服務器。! ^0 d( b' C. V. _. X5 ]
環境:( b: o& X2 F6 {. o5 w! q* |# g) N7 }
服務器使用debian,如果不是debian,配置文件的路徑稍有差別,需要自己修改,但過程一樣。6 @/ G" t! k3 u/ v1 E- E, M: o
郵件處理smtp協議使用:exim6 _, Z1 h( N4 o) F3 z) ?, z: b
郵件處理imap,pop3,lmtp協議使用:dovecot, G4 D5 M5 q; P1 W, o+ F' O
& K: \# @  T5 M& C
郵件接收&閱讀原理:" |$ m7 F: z$ k. j$ r# ]6 o  Y
郵件最終的投遞ip是由域名(比如yourdomain.com)裡面的mx記錄決定的。2 ]) O& n7 g  W2 N% _, s$ S5 G
比如在namecheap裡面這樣設置後,@yourdomain.com的郵件將會由yourdomain.com的郵件服務器接收. L- @: o, w3 _% @9 `
mx.PNG
+ \: c- x$ T; o& _郵件發出後會以smtp協議進行投遞,發送和接受郵件的服務器都要安裝處理smtp協議的軟件,我們這裡就是exim。% E& q3 Z6 p2 v
我們的exim收到別處來的郵件後,需要用lmtp協議把郵件存起來,這裡我們使用dovecot處理lmtp協議。
# i* }: n0 U$ J& D9 G" [- h郵件存儲了,需要閱讀的時候,需要使用pop3或者imap協議,dovecot也會處理這兩個協議。
3 B" h1 {# v: M* }" H% `5 Q郵件閱讀還需要客戶端,可以使用gmail或者outlook這些去和dovecot通訊下載郵件來讀。( S( A4 a  |6 K/ Q) c) m
1 i: s: b+ ~5 ^2 U
安裝步驟:
% |0 L: ~# l9 N8 |/ K3 l1. 去namecheap裡面設置mx,把@yourdomain.com設置到你的vps上面,如上面所附圖2 w7 T: ^8 c0 o9 m" ~+ h, q; F
& E7 B5 v; u% e( O" k
2. 安裝exim 和dovecot
  1. aptitude install exim dovecot-pop3d dovecot-lmtpd
複製代碼
3. 配置dovecot( D4 b  j) k7 B0 Q! {( g
建立一個linux用戶專用存放郵件,這樣收到的郵件都將存到/home/vmail裡面:
  1. groupadd vmail7 C$ Q/ r5 \4 @
  2. useradd vmail -r -g vmail -d /home/vmail -m -s /sbin/nologin -c "mail user"
複製代碼
( s" M$ Q% H- _6 N1 D6 _1 B$ O: u
設置郵箱賬戶
,運行:
  1. pico /etc/dovecot/passwd
複製代碼
然後輸入用戶名,密碼組合如下格式,想輸入多少賬戶就輸入多少賬戶:
  1. [email protected]:{PLAIN}mypassword; D; j% q  \4 `' O# T
  2. [email protected]:{PLAIN}anotherpassword
    5 p0 M2 @/ B+ R1 Y7 M3 v
複製代碼
- q" O. v# V1 X4 u1 Z2 J5 U
配置dovecot本身
,運行:
  1. pico /etc/dovecot/dovecot.conf
複製代碼
刪除原來的內容,使用如下的內容,在原來的基礎上看一下差別修改一下也成:
  1. protocols = pop3
    , a# Z( K+ G7 V" T, c

  2. 6 a0 a9 _% S- y! f, L  I% w& H
  3. # It's nice to have separate log files for Dovecot. You could do this
    0 P' D  H' J6 {5 E
  4. # by changing syslog configuration also, but this is easier.3 Q& n. Q& |; i* t& ]( K" {+ o# t  F
  5. log_path = /var/log/dovecot.log
    5 k3 l. M6 f" o: W/ R. }$ w
  6. info_log_path = /var/log/dovecot-info.log
    8 Y9 d; [- E) s" I

  7. + Y2 I; U5 d& d6 d  c" E
  8. # Disable SSL for now.) N( V1 }8 O- a7 a
  9. ssl = yes
    + Q' K7 P( A3 ^$ b
  10. ssl_cert = </etc/dovecot/dovecot.pem
    0 ?9 N3 Z3 h7 ?- j, A# U( M
  11. ssl_key = </etc/dovecot/private/dovecot.pem4 q" y- P- S+ g1 o  b) e

  12. / @2 \* B( H4 g5 W: U  o
  13. disable_plaintext_auth = no0 G: `( Z# z, v/ x: A  k" `
  14. : j& t% f3 r2 n2 U- W/ H
  15. # We're using Maildir format! u: q( }; y; c$ z& K* I* J
  16. mail_location = maildir:~/Maildir
    $ ~' l7 Y6 B% D

  17. / B+ R) u2 ~6 S4 Q/ ?; n5 A" s
  18. # If you're using POP3, you'll need this:
    ) C$ Z5 s, Q# z( h% H% _; k) x7 K
  19. pop3_uidl_format = %g
    6 _! M9 W( D  I+ O, p: D. U" ?

  20. ( O6 B4 `7 ?2 A: [
  21. # Authentication configuration:
    & t3 y% w& D: O3 j) E
  22. auth_verbose = yes; f0 m* u9 G- d% d6 J9 c" r
  23. auth_mechanisms = plain
    : [. f4 b/ R$ s) ]; A- |1 `& t
  24. passdb {
    $ u8 }# D8 ]' b' j9 k' G8 z
  25.   driver = passwd-file% g6 J8 P, g: D5 P' g  k
  26.   args = /etc/dovecot/passwd% p. I5 L+ ^  [+ }# H& m9 D
  27. }
    ! a+ M/ {1 `' O1 K- @. A$ ?2 o% U
  28. userdb {5 V/ M$ i& r6 M
  29.   driver = static
    , Y% _. z; `" ^$ g$ P
  30.   args = uid=vmail gid=vmail home=/home/vmail/%u5 T' @4 k# j' A
  31. }8 z, ]. e2 s" R3 g7 X2 O0 z
  32. ! H, b* [2 ?& ^4 G
  33. service lmtp {; e& V  k1 p1 s6 C# w% r; I' H
  34.   inet_listener lmtp {+ @) i: a( O2 V* `' `/ o
  35.     address = 127.0.0.1 ::1& C& Z7 @+ {' ^1 s0 x# E' ?' G
  36.     port = 24
    & r5 N6 P! [/ M) I5 D+ M
  37.   }- N7 o: Z. Q- W' ]6 F! T1 `
  38. 8 j: L. v; v& ^* w: X
  39.   unix_listener lmtp {0 w: C% w6 Q0 }. H4 z
  40.     mode = 06669 b% ]- O) K; G& K' N
  41.   }, T5 t8 [2 L6 W
  42. }
複製代碼

' C; q7 q( e2 H% c" u重啟服務
:
  1. service dovecot restart
複製代碼
: `% J2 u+ t& X; I( i( A& }) Y
檢查一下
dovecot是否已經在監聽端口:
  1. lsof -ni
複製代碼
已經可以看到在監聽pop3,pop3s,還有lmtp的24號共3個端口了。
7 b, t9 f' R7 k( t* o, x' i6 h dovecot-ports.PNG
8 X* l9 I$ C: ?. j  e' Q* \
6 d) ?* V4 Y+ U; s/ G% {, j4. 配置exim:) T* c& |( M/ r; d5 K" O
運行配置嚮導:
  1. dpkg-reconfigure exim4-config
複製代碼
這一個嚮導步驟比較多:
: `/ l+ f  m; E9 u: |第一步要選internet site; mail is sent and received directly using SMTP* x! H% T  c9 Y
然後遇到有textbox輸入的如果怕麻煩全部刪除原來內容,留空進下一步。  N' s+ X. r* [" B8 v
有一個問題:Keep number of DNS-queries minimal (Dial-on-Demand)? ,選默認No; H1 k# a  [: I# ?) @
還有一個問題:Split configuration into small files?選Yes. i) L' ^4 B1 `% s' B8 q4 H
/ y2 |: L/ \4 p$ d% u& Q
配置exim進行lmtp方式投遞,運行:
  1. pico /etc/exim4/conf.d/router/900_exim4-config_local_user
複製代碼
然後把文件內容替換為:
  1. local_user:
    6 p4 |+ Y0 p* Q9 C; X7 U/ p1 n
  2.         transport = dovecot_lmtp' Y6 z7 k( ^# [  Y7 p
  3.         domains = +local_domains% J; O: q- n; z' w* q9 |
  4.         driver = manualroute+ T) ~  ]0 D6 g4 C& f% Y
  5.         route_list = "* 127.0.0.1 byname"
    . o3 F7 M2 H5 N, K8 A
  6.         self = send* N' Q0 a( R, i& \
複製代碼

, r5 ^9 \% U. Z) r* j0 F運行以下命令,會新建一個文件:
  1. pico /etc/exim4/conf.d/transport/40_exim4-config_dovecot_lmtp
複製代碼
然後輸入以下內容:
  1. dovecot_lmtp:& z. l7 H' u% v! m; b9 a; y8 T
  2.         driver = smtp
      m' X0 J1 w  d- O' p+ }. m
  3.         protocol = lmtp
    + ]7 m* M: s) z# s  M6 ~4 p! p
  4.         port = 24
複製代碼
  Y& I& a8 ?& h9 v7 c
重啟exim:
  1. service exim4 restart
複製代碼
檢查exim在公網監聽smtp端口:
  1. lsof -ni
複製代碼
exim-smtp.PNG : |* b5 O* j" Z8 ~- h  X
一定要是*:smtp,如果只有127.0.0.1:smtp或者根本沒有smtp端口,說明配置錯誤。需要去/var/log/exim4里面看log文件排錯,另外dovecot的log也在/var/log/dovecot.log
; I# o$ y5 y4 e3 g7 G1 d
6 \. M( a7 r2 E1 G7 [我使用gmail pop3作為閱讀客戶端,所以沒有用imap,如果需要可以在安裝的時候執行,應該不需要額外的配置更改:
  1. aptitude install dovecot-imapd
複製代碼
, U! }6 b- V/ [# R' U8 \3 U

評分

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

查看全部評分

發表於 2014-1-16 07:43:01 | 顯示全部樓層
乾貨啊 以後嘗試著搭建一下         
( g; G  K1 |' r2 o- E  m) \+ _

點評

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

使用道具 舉報

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

本版積分規則

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

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

GMT+8, 2025-7-19 06:39

By DZ X3.5

小黑屋

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