过期域名预定抢注

用戶名  找回密碼
 免费注册

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

[複製鏈接]
發表於 2014-1-15 13:21:17 | 顯示全部樓層 |閱讀模式
本帖最後由 hudba 於 2014-1-15 13:26 編輯
* s* i% s0 i. C1 {5 B1 @6 n, G( r4 \9 X" O* S+ i  t7 b+ E
有一個自己的接收郵件服務器的好處:
( s# Z+ e8 n  {5 O5 v  L* y
  • 主要是自由方便,
  • 可以有自己的域名郵箱,
  • 不求人,
  • 想多少個名字就多少個名字
    6 G7 X" ]( ]& V/ N: t  v2 ~: u

% U& Q4 C) }' u: t8 M* Z6 s發郵件相對簡單,這裡主要介紹如何使用dovecot配置一個接受郵件的服務器。/ H/ }6 y* ~- G9 u
環境:
  G. L  R5 S4 }- j  ^服務器使用debian,如果不是debian,配置文件的路徑稍有差別,需要自己修改,但過程一樣。$ d6 Q0 S8 q9 _6 x
郵件處理smtp協議使用:exim: N! N% o: u1 L, _# H# y# j. O
郵件處理imap,pop3,lmtp協議使用:dovecot) [. C! D2 f' f/ F! ?# n
% p: o! W3 w, Q1 X3 {4 ?. i+ p' L
郵件接收&閱讀原理:) w' w7 R3 Z3 ?4 V1 h
郵件最終的投遞ip是由域名(比如yourdomain.com)裡面的mx記錄決定的。
6 t3 B! ~, [4 \) \比如在namecheap裡面這樣設置後,@yourdomain.com的郵件將會由yourdomain.com的郵件服務器接收
. X  m1 X# C7 G mx.PNG
# j& G0 ]: Z7 _" o% E/ T& ^' a郵件發出後會以smtp協議進行投遞,發送和接受郵件的服務器都要安裝處理smtp協議的軟件,我們這裡就是exim。# }5 F  Z: F2 T! t  R8 n: O
我們的exim收到別處來的郵件後,需要用lmtp協議把郵件存起來,這裡我們使用dovecot處理lmtp協議。6 G+ `: `+ z" K8 g2 i
郵件存儲了,需要閱讀的時候,需要使用pop3或者imap協議,dovecot也會處理這兩個協議。
. e, t0 W# v# S$ P郵件閱讀還需要客戶端,可以使用gmail或者outlook這些去和dovecot通訊下載郵件來讀。5 w/ E6 C$ \2 E: g3 @
3 v% m5 i7 Z# D7 [8 b
安裝步驟:
& v/ U4 p0 C6 m0 R- K3 u1. 去namecheap裡面設置mx,把@yourdomain.com設置到你的vps上面,如上面所附圖
# w2 p9 @7 X1 \0 }! t
& A1 {" w% D0 p! G2. 安裝exim 和dovecot
  1. aptitude install exim dovecot-pop3d dovecot-lmtpd
複製代碼
3. 配置dovecot$ o. o9 b, e6 j7 O0 D
建立一個linux用戶專用存放郵件,這樣收到的郵件都將存到/home/vmail裡面:
  1. groupadd vmail
    & ~2 j2 X$ Z; x1 T
  2. useradd vmail -r -g vmail -d /home/vmail -m -s /sbin/nologin -c "mail user"
複製代碼

" ~0 `% \( @7 K& A$ N+ I設置郵箱賬戶
,運行:
  1. pico /etc/dovecot/passwd
複製代碼
然後輸入用戶名,密碼組合如下格式,想輸入多少賬戶就輸入多少賬戶:
  1. info@yourdomain.com:{PLAIN}mypassword
    ( `: D; F; e; ]
  2. webmaster@yourdomain.com:{PLAIN}anotherpassword
    6 w6 \) [3 u4 `0 P0 `2 R
複製代碼
4 l) M% o) d3 V. f6 I$ u7 m
配置dovecot本身
,運行:
  1. pico /etc/dovecot/dovecot.conf
複製代碼
刪除原來的內容,使用如下的內容,在原來的基礎上看一下差別修改一下也成:
  1. protocols = pop30 x2 e; ]/ I7 d5 i; p4 {0 r
  2. 6 G+ U- ?" V8 a9 a
  3. # It's nice to have separate log files for Dovecot. You could do this
    . U4 J7 r* H6 ~1 P8 s( Q- Z# V
  4. # by changing syslog configuration also, but this is easier.
    5 J! J0 r( O7 D5 A8 a, X7 {6 I
  5. log_path = /var/log/dovecot.log  M, Y+ @6 t: e3 e$ n  [
  6. info_log_path = /var/log/dovecot-info.log
    & d# X* a/ v' x/ `* K

  7. ( s1 z0 c7 J+ L1 P. }2 R9 [
  8. # Disable SSL for now.
    " H# r: f! X) k9 v9 t! \
  9. ssl = yes
    2 z- C$ G! b: |* y2 n
  10. ssl_cert = </etc/dovecot/dovecot.pem. e- _5 S3 B! E& G; w
  11. ssl_key = </etc/dovecot/private/dovecot.pem3 _0 ~. t' s+ ?+ O: D' f) L& d: n

  12. / p! A3 a+ z7 f, h0 D0 j5 Q; ~
  13. disable_plaintext_auth = no* `9 o7 X. Q# e& C: B! [
  14.   A# o7 N; c4 ~, [' x( F0 e  I* C
  15. # We're using Maildir format
    ) a, |6 L, I! Y4 S! j# c1 X
  16. mail_location = maildir:~/Maildir+ E+ G8 K& R$ b0 ^: ]( R& ?- T

  17. * H% E0 |& y: h8 F: V8 {1 b" s
  18. # If you're using POP3, you'll need this:
    - P( i1 F8 c; y' j8 t( K8 b+ a
  19. pop3_uidl_format = %g
    ; W( k+ v. `* {  Y4 @5 T
  20. $ c! G( Y! ?% F3 b2 J! G( P
  21. # Authentication configuration:
    / ]' F4 b: V& }+ D* Z& ?
  22. auth_verbose = yes$ s( x. W/ D* L8 `  `6 T
  23. auth_mechanisms = plain3 C0 |1 A! C: u& s# l8 V
  24. passdb {
    , @2 Z  S# U' q( N3 D. m3 c
  25.   driver = passwd-file
      E3 }& ^0 D* K0 b# k
  26.   args = /etc/dovecot/passwd( \  G8 m0 H4 R- V6 H) J
  27. }' j" z. O2 k" G1 A& b1 z
  28. userdb {7 s8 k- F& Y! J1 Y9 T" c/ w
  29.   driver = static
    0 C5 E3 [, z. Y* d. y' f
  30.   args = uid=vmail gid=vmail home=/home/vmail/%u
    ' q1 P: J. z- N' W; I* r$ e
  31. }
    ; B7 I& Q' W( L  }8 J1 Y
  32. 2 G( {% F4 H( e7 f0 o* m, P% Y
  33. service lmtp {
    8 |4 w1 b6 D% S% B2 ?  e/ s! Z  a. G. I* U
  34.   inet_listener lmtp {1 [% B# e4 J% |7 F1 a
  35.     address = 127.0.0.1 ::1+ p% V' w) U) z$ U) G
  36.     port = 24
    % T3 x0 W  y5 q; h' ?, O
  37.   }3 K: l# Z$ a$ }1 M7 y
  38. " B0 _$ X( P. W. X1 f& C! h% @
  39.   unix_listener lmtp {! A! k+ h3 o0 L
  40.     mode = 0666/ Z: w+ L2 J( t$ \1 w0 }6 I% B  p9 _
  41.   }
    9 S3 f. o( u$ Y5 S" }( p
  42. }
複製代碼

+ H# o4 y) k0 G0 D$ a5 ~+ b重啟服務
:
  1. service dovecot restart
複製代碼
$ U5 H$ L) K5 ]6 t( |4 a% M: c
檢查一下
dovecot是否已經在監聽端口:
  1. lsof -ni
複製代碼
已經可以看到在監聽pop3,pop3s,還有lmtp的24號共3個端口了。9 t$ i# \4 S2 Y$ V: n
dovecot-ports.PNG # {2 p+ ~; a9 q+ u7 K  J( P  I

3 b% N6 _" g, _. @8 u$ ?4. 配置exim:; ^: s/ _7 M: p1 j4 e
運行配置嚮導:
  1. dpkg-reconfigure exim4-config
複製代碼
這一個嚮導步驟比較多:
1 S& z( G4 n- b( d3 {第一步要選internet site; mail is sent and received directly using SMTP
# m* X6 M4 ]% M然後遇到有textbox輸入的如果怕麻煩全部刪除原來內容,留空進下一步。) u# e5 m" v" S
有一個問題:Keep number of DNS-queries minimal (Dial-on-Demand)? ,選默認No$ ]1 A" T0 w, J: v4 O
還有一個問題:Split configuration into small files?選Yes
9 Z: b& O! S/ }: _& J2 D
5 ]& {5 Z0 |9 H6 e% S$ K0 N配置exim進行lmtp方式投遞,運行:
  1. pico /etc/exim4/conf.d/router/900_exim4-config_local_user
複製代碼
然後把文件內容替換為:
  1. local_user:
    $ V0 H& n3 J6 N  d/ N7 V
  2.         transport = dovecot_lmtp
    6 u& j6 G# B0 }+ H4 d
  3.         domains = +local_domains5 _8 l! @4 x2 R: O0 W* j
  4.         driver = manualroute5 X4 \; {9 F# F, ]% R
  5.         route_list = "* 127.0.0.1 byname"
      h& |- G; V' _# Z+ S6 p# V
  6.         self = send7 T7 I. k/ z  v6 {5 Q7 M
複製代碼
& }* Y" K  ]3 D) s
運行以下命令,會新建一個文件:
  1. pico /etc/exim4/conf.d/transport/40_exim4-config_dovecot_lmtp
複製代碼
然後輸入以下內容:
  1. dovecot_lmtp:' w/ q# h. v; w5 b" v
  2.         driver = smtp' ~# u, H6 V1 M0 G
  3.         protocol = lmtp
    + {" U( H. ^9 j
  4.         port = 24
複製代碼
& `" W) ?3 R8 l% u( a( ^2 r! @
重啟exim:
  1. service exim4 restart
複製代碼
檢查exim在公網監聽smtp端口:
  1. lsof -ni
複製代碼
exim-smtp.PNG
  w- T) o$ o" P  [一定要是*:smtp,如果只有127.0.0.1:smtp或者根本沒有smtp端口,說明配置錯誤。需要去/var/log/exim4里面看log文件排錯,另外dovecot的log也在/var/log/dovecot.log
& X7 f* `) [6 ?6 H( Q9 g# r. B! A$ J3 x
4 t0 e7 S2 ~& s) H6 i4 F我使用gmail pop3作為閱讀客戶端,所以沒有用imap,如果需要可以在安裝的時候執行,應該不需要額外的配置更改:
  1. aptitude install dovecot-imapd
複製代碼

# r" n5 G7 E5 I: ~; c

評分

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

查看全部評分

發表於 2014-1-16 07:43:01 | 顯示全部樓層
乾貨啊 以後嘗試著搭建一下          ' w4 Q9 Y' {3 P, B4 ]! t

點評

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

舉報

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

本版積分規則

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

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

GMT+8, 2025-7-5 22:05

By DZ X3.5

小黑屋

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