blog portrait
"My name is woody,but i am coder not director."
woody
Tianjin 天津
woodyhello@gmail.com
发布工具
爱丫,图
坐标转换
回到首页
a good image

debian下搭建邮件服务器

第一步

#apt-get update

#apt-get upgrade

#apt-get install postfix libsasl2-2 sasl2-bin libsasl2-modules dovecot-imapd dovecot-pop3d dovecot-common

第二步

#配置邮件服务器 首先,停掉这三项服务:

#postfix stop

#service dovecot stop

接下来,修改postfix的配置文件/etc/postfix/main.cf

由于采用了sasl做认证,同时用dovecot作为pop3、imap和smtp的服务,所以需要修改postfix的配置文件以适应需求。

在/etc/postfix/main.cf文件中增加以下信息以支持sasl认证和dovecot服务。

smtpd_sasl_type = dovecot

smtpd_sasl_path = private/auth

smtpd_sasl_auth_enable = yes

smtpd_sasl_local_domain = yourdomain.com

smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination

smtpd_sasl_security_options = noanonymous

  message_size_limit = 10240000

另外main.cf中的以下两个参数

myhostname = yourhostname

mydestination = yourdomain.com, localhost.localdomain, localhost

分别代表了你的服务器信息,myhostname是你当前主机名,mydestination其中的yourdomain.com则是邮件服务器名。

修改完毕后保存该文件。

接下来,修改/etc/dovecot/dovecot.conf文件

修改参数protocols为

protocols = pop3 imap

  修改mail_location为

  mail_location = mbox:~/mail:INBOX=/var/mail/%u (这里需要注意dovecot设置的邮件类型为mbox,而postfix默认邮件格式也能是Maildir。如果这里设置的为mail_location=mail:~/Maildir,会出现收件箱里没有东西)

设置参数disable_plaintext_auth为

disable_plaintext_auth = no

找到auth default,将auth default改名为auth default2。

然后在这行前面增加如下信息

auth default {

mechanisms = plain login

passdb pam {

}

userdb passwd {

}

socket listen {

client {

path = /var/spool/postfix/private/auth

mode = 0660

user = postfix

group = postfix

}

}

}

注意:这里的每个‘{’前都有个空格。

然后保存该文件。

接下来,修改sasl配置文件。

debian默认的安装配置中sasl并不会自动启动,需要修改/etc/default/saslauthd文件。

将其中的START=no修改为START=yes。

修改

OPTIONS="-c -m /var/run/saslauthd"

OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"

然后保存该文件。

在启用sasl的情况下postfix运行需要sasldb2文件在postfix的chroot环境中。

同时为了保证saslauthd能和postfix通讯,需要作如下的修改。

删除位于/va/run目录下的saslauthd目录,然后创建一个指向/var/spool/postfix/var/run/saslauthd的符号连接。

sudo rm -r /var/run/saslauthd/

sudo mkdir -p /var/spool/postfix/var/run/saslauthd

sudo ln -s /var/spool/postfix/var/run/saslauthd /var/run

sudo chgrp sasl /var/spool/postfix/var/run/saslauthd

sudo adduser postfix sasl

另外postfix在运行的时候需要将/etc/sasldb2文件拷贝到chroot环境中。

修改/etc/init.d/postfix文件,修改其中的FILES变量,在其中增加etc/sasldb2

完成以上工作后启动三个服务。

#postfix start #service dovecot start

然后新增用户

adduser username

至此,邮件服务器的配置成功。

 查询系统邮件日志文件:/var/log/mail.log

#启动Postfix 和 Dovecot

首先检查系统中是否安装了sendmail,一般情况都有sendmail,这里要先将sendmail服务关闭,或者是卸载sendmail

#service sendmail stop #关闭sendmail服务

#chkconfig sendmail off #关闭开机自动运行sendmail服务

#postfix start #打开postfix服务

#chkconfig postfix on #开机自动运行postfix服务(我设置后开机任旧不会自动运行postfix)

#service dovecot start #打开dovecot服务

#chkconfig dovecot on #开机自动运行dovecot服务

将postfix加入到root的组:

#usermod -G root postfix

检查服务是否开启,如果服务打开会显示如下结果

#nmap localhost

PORT STATE SERVICE

22/tcp open ssh

25/tcp open smtp

110/tcp open pop3

如果没有安装nmap命令,可以使用netstat命令

#netstat -nlt

添加邮件服务器用户并分配邮箱 首先添加邮件服务器用户

#adduser username //添加用户

#passwd username //设置密码

由于前面设置mail_location=mbox:~/mail:INBOX=/var/mail/%u,所以,所创建的用户目录下有具有mail目录,如果不存在该目录,如下操作

#telnet ip地址 110

#user username

+OK

#pass password

+login

#chmod 700 /home/username/Maildir //很重要