hudba 发表于 2014-1-15 13:21:17

在vps建立一个自己的接收邮件服务器

本帖最后由 hudba 于 2014-1-15 13:26 编辑

有一个自己的接收邮件服务器的好处:

[*]主要是自由方便,
[*]可以有自己的域名邮箱,
[*]不求人,
[*]想多少个名字就多少个名字

发邮件相对简单,这里主要介绍如何使用dovecot配置一个接受邮件的服务器。
环境:
服务器使用debian,如果不是debian,配置文件的路径稍有差别,需要自己修改,但过程一样。
邮件处理smtp协议使用:exim
邮件处理imap,pop3,lmtp协议使用:dovecot

邮件接收&阅读原理:
邮件最终的投递ip是由域名(比如yourdomain.com)里面的mx记录决定的。
比如在namecheap里面这样设置后,@yourdomain.com的邮件将会由yourdomain.com的邮件服务器接收

邮件发出后会以smtp协议进行投递,发送和接受邮件的服务器都要安装处理smtp协议的软件,我们这里就是exim。
我们的exim收到别处来的邮件后,需要用lmtp协议把邮件存起来,这里我们使用dovecot处理lmtp协议。
邮件存储了,需要阅读的时候,需要使用pop3或者imap协议,dovecot也会处理这两个协议。
邮件阅读还需要客户端,可以使用gmail或者outlook这些去和dovecot通讯下载邮件来读。

安装步骤:
1. 去namecheap里面设置mx,把@yourdomain.com设置到你的vps上面,如上面所附图

2. 安装exim 和dovecotaptitude install exim dovecot-pop3d dovecot-lmtpd3. 配置dovecot
建立一个linux用户专用存放邮件,这样收到的邮件都将存到/home/vmail里面:groupadd vmail
useradd vmail -r -g vmail -d /home/vmail -m -s /sbin/nologin -c "mail user"
设置邮箱账户,运行:pico /etc/dovecot/passwd然后输入用户名,密码组合如下格式,想输入多少账户就输入多少账户:[email protected]:{PLAIN}mypassword
[email protected]:{PLAIN}anotherpassword

配置dovecot本身,运行:pico /etc/dovecot/dovecot.conf删除原来的内容,使用如下的内容,在原来的基础上看一下差别修改一下也成:protocols = pop3

# It's nice to have separate log files for Dovecot. You could do this
# by changing syslog configuration also, but this is easier.
log_path = /var/log/dovecot.log
info_log_path = /var/log/dovecot-info.log

# Disable SSL for now.
ssl = yes
ssl_cert = </etc/dovecot/dovecot.pem
ssl_key = </etc/dovecot/private/dovecot.pem

disable_plaintext_auth = no

# We're using Maildir format
mail_location = maildir:~/Maildir

# If you're using POP3, you'll need this:
pop3_uidl_format = %g

# Authentication configuration:
auth_verbose = yes
auth_mechanisms = plain
passdb {
driver = passwd-file
args = /etc/dovecot/passwd
}
userdb {
driver = static
args = uid=vmail gid=vmail home=/home/vmail/%u
}

service lmtp {
inet_listener lmtp {
    address = 127.0.0.1 ::1
    port = 24
}

unix_listener lmtp {
    mode = 0666
}
}
重启服务:service dovecot restart
检查一下dovecot是否已经在监听端口:lsof -ni已经可以看到在监听pop3,pop3s,还有lmtp的24号共3个端口了。


4. 配置exim:
运行配置向导:dpkg-reconfigure exim4-config这一个向导步骤比较多:
第一步要选internet site; mail is sent and received directly using SMTP
然后遇到有textbox输入的如果怕麻烦全部删除原来内容,留空进下一步。
有一个问题:Keep number of DNS-queries minimal (Dial-on-Demand)? ,选默认No
还有一个问题:Split configuration into small files?选Yes

配置exim进行lmtp方式投递,运行:pico /etc/exim4/conf.d/router/900_exim4-config_local_user然后把文件内容替换为:local_user:
      transport = dovecot_lmtp
      domains = +local_domains
      driver = manualroute
      route_list = "* 127.0.0.1 byname"
      self = send

运行以下命令,会新建一个文件:pico /etc/exim4/conf.d/transport/40_exim4-config_dovecot_lmtp然后输入以下内容:dovecot_lmtp:
      driver = smtp
      protocol = lmtp
      port = 24
重启exim:service exim4 restart检查exim在公网监听smtp端口:lsof -ni
一定要是*:smtp,如果只有127.0.0.1:smtp或者根本没有smtp端口,说明配置错误。需要去/var/log/exim4里面看log文件排错,另外dovecot的log也在/var/log/dovecot.log

我使用gmail pop3作为阅读客户端,所以没有用imap,如果需要可以在安装的时候执行,应该不需要额外的配置更改:aptitude install dovecot-imapd

ebookyx 发表于 2014-1-16 07:43:01

干货啊 以后尝试着搭建一下         
页: [1]
查看完整版本: 在vps建立一个自己的接收邮件服务器