过期域名预定抢注

用戶名  找回密碼
 免费注册

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

[複製鏈接]
發表於 2014-1-15 13:21:17 | 顯示全部樓層 |閱讀模式
本帖最後由 hudba 於 2014-1-15 13:26 編輯
, `6 U3 f6 ]; \, \0 M0 P# K, @2 w0 d+ x5 X! @5 H; g0 L5 H
有一個自己的接收郵件服務器的好處:
+ r% D1 O) N3 {7 G& V$ a+ V$ n$ E# s
  • 主要是自由方便,
  • 可以有自己的域名郵箱,
  • 不求人,
  • 想多少個名字就多少個名字) h3 S! g- C& J* J% W

, H: r7 v! f6 S. A+ |' b0 @發郵件相對簡單,這裡主要介紹如何使用dovecot配置一個接受郵件的服務器。7 K( A% f" q( T. Z+ `2 [$ l& C- u& Q
環境:
3 @3 a6 i, y- y, M: F) Q' k5 [服務器使用debian,如果不是debian,配置文件的路徑稍有差別,需要自己修改,但過程一樣。
5 c3 W& i  A# g: d2 @, I郵件處理smtp協議使用:exim% u+ ^% ?5 M" O
郵件處理imap,pop3,lmtp協議使用:dovecot
' }! J3 i4 L5 D6 Z% A1 L
/ X) A0 q" ~* |郵件接收&閱讀原理:2 r# G& q' Q4 u5 a( U1 h/ @
郵件最終的投遞ip是由域名(比如yourdomain.com)裡面的mx記錄決定的。7 a' S) s( P! C7 g/ U
比如在namecheap裡面這樣設置後,@yourdomain.com的郵件將會由yourdomain.com的郵件服務器接收, _1 U) g2 [3 b/ w; O* B
mx.PNG
6 g( y+ I$ [5 A% m4 V2 E% ?郵件發出後會以smtp協議進行投遞,發送和接受郵件的服務器都要安裝處理smtp協議的軟件,我們這裡就是exim。4 L& ~+ ]5 {( d* q5 k( c5 B- O
我們的exim收到別處來的郵件後,需要用lmtp協議把郵件存起來,這裡我們使用dovecot處理lmtp協議。
. ~2 L  n' F/ \& O) B/ K" B. b, w郵件存儲了,需要閱讀的時候,需要使用pop3或者imap協議,dovecot也會處理這兩個協議。; l7 O' H* P- U2 K# j$ B9 d& R
郵件閱讀還需要客戶端,可以使用gmail或者outlook這些去和dovecot通訊下載郵件來讀。
1 |" }" {: R3 P3 N, J" d! B& Q4 t
8 {& C  e6 o8 Z% M3 ~' r& @1 V安裝步驟:
; c7 U+ B6 o7 r- f0 y+ }* |' k1. 去namecheap裡面設置mx,把@yourdomain.com設置到你的vps上面,如上面所附圖
7 |, u+ ^# R6 H
& O! u! ?! S# A2. 安裝exim 和dovecot
  1. aptitude install exim dovecot-pop3d dovecot-lmtpd
複製代碼
3. 配置dovecot; s( L' _4 p/ F# K7 ~2 ?
建立一個linux用戶專用存放郵件,這樣收到的郵件都將存到/home/vmail裡面:
  1. groupadd vmail
    : t, w$ O9 K4 g7 v- c) J+ O  Q" J8 r
  2. useradd vmail -r -g vmail -d /home/vmail -m -s /sbin/nologin -c "mail user"
複製代碼
! {. ^+ f' O6 e$ J6 x& b3 D2 \
設置郵箱賬戶
,運行:
  1. pico /etc/dovecot/passwd
複製代碼
然後輸入用戶名,密碼組合如下格式,想輸入多少賬戶就輸入多少賬戶:
  1. info@yourdomain.com:{PLAIN}mypassword
    & P) `: T2 J$ e) j. a+ R* n
  2. webmaster@yourdomain.com:{PLAIN}anotherpassword
    - G$ j6 B4 S) m1 k. \# s2 x
複製代碼

2 h* S9 E. e, P+ I配置dovecot本身
,運行:
  1. pico /etc/dovecot/dovecot.conf
複製代碼
刪除原來的內容,使用如下的內容,在原來的基礎上看一下差別修改一下也成:
  1. protocols = pop3
    $ D5 D* W4 n: p$ N! b4 J* e
  2. 1 d: `0 [, x* a, Y& |8 M
  3. # It's nice to have separate log files for Dovecot. You could do this: S5 r6 }3 i3 u! Z
  4. # by changing syslog configuration also, but this is easier.' o+ A2 F% k7 B. J$ E$ H* f
  5. log_path = /var/log/dovecot.log8 F! _% p1 h9 K6 E! f3 O& n2 M# Q$ i
  6. info_log_path = /var/log/dovecot-info.log/ N/ T  P; H8 q- I

  7. ( O# J+ c9 [) R; v. `7 _4 }$ \
  8. # Disable SSL for now.: i2 C& X  O! X- a
  9. ssl = yes$ a- e# j' H7 @1 w
  10. ssl_cert = </etc/dovecot/dovecot.pem
    . e; a' v  R5 n2 a; a1 ~
  11. ssl_key = </etc/dovecot/private/dovecot.pem
    ! D0 c& M/ \9 ?. [$ {
  12. . x: @% B, I2 h3 y0 }
  13. disable_plaintext_auth = no% q1 v* }# n' o4 S3 G
  14. ( b! ~- \$ T$ T6 H4 t$ G
  15. # We're using Maildir format3 \/ [5 @7 @% h/ v7 _0 e1 m7 w
  16. mail_location = maildir:~/Maildir
    + g+ Y5 I  I9 `
  17. . R: B& {4 B7 \
  18. # If you're using POP3, you'll need this:
    : x2 _3 o/ v2 q- I" N
  19. pop3_uidl_format = %g9 M& s5 c) c* _

  20. 3 `9 x% w" f$ s2 V5 G
  21. # Authentication configuration:
    3 o2 Q' @2 X0 `* d0 }' l9 N: s) o
  22. auth_verbose = yes8 e) t% p! Q7 S) o; z& d# j: Q5 L
  23. auth_mechanisms = plain
    8 |$ {* `: q7 @  q. Y' B
  24. passdb {
    3 l. b( r) L4 k4 P2 r3 F
  25.   driver = passwd-file0 O! V2 z. r6 I) R6 M+ K! _# A
  26.   args = /etc/dovecot/passwd7 T6 L2 ^  {( u* t: ]' [' O
  27. }
    6 E- z; h2 j' [! y" U9 u
  28. userdb {+ I& X5 s8 z" }& h1 a6 r3 c5 ^7 _( q
  29.   driver = static
    5 b7 `8 z; n, T
  30.   args = uid=vmail gid=vmail home=/home/vmail/%u- V8 J% W3 I! v
  31. }9 z, c' w8 j7 C. F7 I" j
  32. 6 V- |6 ]  s7 T7 o: I
  33. service lmtp {7 I$ Z$ Y8 H: O" j* o
  34.   inet_listener lmtp {
    - \; f: v* I* J
  35.     address = 127.0.0.1 ::1& \& |! M+ Z, \( V
  36.     port = 24
    9 T% Y; o0 A7 ^8 o+ R$ |
  37.   }
    $ e4 x6 T1 g" D  h8 s3 [/ p

  38. : x! R! C: I7 Q+ k7 s
  39.   unix_listener lmtp {- A8 t, w! |8 D2 y( k" {
  40.     mode = 0666" j* \  O0 S/ e6 ?$ Y2 I% q9 _; y/ k
  41.   }
    3 y" ]# ?- k9 g+ S; y
  42. }
複製代碼

. m7 g& |, K6 r) N5 W重啟服務
:
  1. service dovecot restart
複製代碼

7 u! ~. g5 U  K% J( |; M檢查一下
dovecot是否已經在監聽端口:
  1. lsof -ni
複製代碼
已經可以看到在監聽pop3,pop3s,還有lmtp的24號共3個端口了。
6 K: x: q/ L" }  F. Z dovecot-ports.PNG & Q9 e6 n/ C8 I7 j

: z; a* Q6 W1 L. i6 C4. 配置exim:
: Q- `4 Y! l; q- N運行配置嚮導:
  1. dpkg-reconfigure exim4-config
複製代碼
這一個嚮導步驟比較多:1 ?7 R" X, a0 U$ {4 X8 ~' o/ _
第一步要選internet site; mail is sent and received directly using SMTP
# K3 r2 w+ E, Y* x+ U然後遇到有textbox輸入的如果怕麻煩全部刪除原來內容,留空進下一步。
2 N7 `# B' y( i0 o1 T! |有一個問題:Keep number of DNS-queries minimal (Dial-on-Demand)? ,選默認No
0 H% \# \1 g( P" Q1 Y還有一個問題:Split configuration into small files?選Yes
) g9 ^3 q. E$ `1 W  G) H; d0 d4 g0 [2 a
配置exim進行lmtp方式投遞,運行:
  1. pico /etc/exim4/conf.d/router/900_exim4-config_local_user
複製代碼
然後把文件內容替換為:
  1. local_user:
    ' L4 n4 @$ F  N8 b0 G( P
  2.         transport = dovecot_lmtp; k$ ]1 U; Q" z+ m, w3 W
  3.         domains = +local_domains
    7 \6 v9 _1 y1 M: N& X- W
  4.         driver = manualroute
    ; S7 _  t5 I- l" x
  5.         route_list = "* 127.0.0.1 byname"- m0 Z1 f- [- }0 O5 L0 m& j& |2 N
  6.         self = send
    ) e( ]* U+ i: Q
複製代碼
1 |! w# d" H& h+ Y/ t
運行以下命令,會新建一個文件:
  1. pico /etc/exim4/conf.d/transport/40_exim4-config_dovecot_lmtp
複製代碼
然後輸入以下內容:
  1. dovecot_lmtp:: ]4 ?, s5 h/ v0 \- {
  2.         driver = smtp
    - z1 x$ y: a* \* y& S3 f
  3.         protocol = lmtp' a+ Y( o: O1 Z2 g: a) V* ]
  4.         port = 24
複製代碼
5 f5 g  J5 K: p
重啟exim:
  1. service exim4 restart
複製代碼
檢查exim在公網監聽smtp端口:
  1. lsof -ni
複製代碼
exim-smtp.PNG
2 l8 N$ G" w9 F6 F0 F一定要是*:smtp,如果只有127.0.0.1:smtp或者根本沒有smtp端口,說明配置錯誤。需要去/var/log/exim4里面看log文件排錯,另外dovecot的log也在/var/log/dovecot.log) A. ?0 a6 u# j7 L; X
) Y3 n# i* n2 s6 e- C( C& Q
我使用gmail pop3作為閱讀客戶端,所以沒有用imap,如果需要可以在安裝的時候執行,應該不需要額外的配置更改:
  1. aptitude install dovecot-imapd
複製代碼

; F% z: W) k9 y) `& i0 ?  u, U$ T

評分

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

查看全部評分

發表於 2014-1-16 07:43:01 | 顯示全部樓層
乾貨啊 以後嘗試著搭建一下         
0 M2 P' l$ c# n6 O) U8 C7 L

點評

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

舉報

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

本版積分規則

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

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

GMT+8, 2025-7-29 21:50

By DZ X3.5

小黑屋

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