RHEL6 Postfix+Dovecot邮件系统配置指南

简介:

 下午闲来无事,就在RHEL6上面折腾了下邮件的收发,rhel5默认采用sendmail做为MTA,rhel6则采用postfix,以前也从来没玩过这个,因此今天折腾的时候遇到了蛮多的阻力,现在基本实现了邮件的收发功能,更多的postfix配置后期还需要不断的学习和整理,下面附上实验过程

1:环境介绍
邮件服务器IP: 192.168.50.24/24,主机名为rhel6.766.com,因为懒得去配dns,这里就用hosts文件来代替解析
客户端1   IP: 192.168.50.211/24,FreeBSD 8.1,使用telnet收信
客户端2   IP:  192.168.50.40/24,  Win7,使用foxmail收发邮件

[root@rhel6 ~]# hostname 
rhel6.766.com
[root@rhel6 ~]# cat /etc/hosts
192.168.50.24   rhel6.766.com           rhel6
127.0.0.1       localhost.localdomain   localhost

2:安装postfix和dovecot软件包,这里为了省事,就采用rpm包方式安装,后期可以去研究研究如何编译使用,rhel6默认已经安装好了postfix,所以只需要安装dovecot即可

[root@rhel6 ~]# rpm -qa |grep -E 'postfix|dovecot|sendmail +'
postfix-2.6.6-2.el6.x86_64
dovecot-2.0-0.10.beta6.20100630.el6.x86_64


3:修改postfix主配置文件如下,各配置项的具体含义可以参考手册和注释
[root@rhel6 ~]# grep -v '^#' /etc/postfix/main.cf  |grep -v '^$'
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
mydomain = rhel6.766.com      //指定邮件域
myorigin = $mydomain
inet_interfaces = all 
inet_protocols = all
mydestination = $myhostname, localhost.$mydomain, localhost
unknown_local_recipient_reject_code = 550
mynetworks_style = subnet
mynetworks = 192.168.50.0/24, 127.0.0.0/8      //指定允许中继的IP地址段
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases  
debug_peer_level = 2
debugger_command =
         PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
         ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.6.6/samples
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES

[root@rhel6 ~]# service postfix start
启动 postfix: [确定]

本地发信测试
[root@rhel6 ~]# mail -s 'Postfix1' 
ylw6006@163.com < /etc/hosts

 

win7客户端测试:

 

 

4:修改dovecot主配置文件如下
[root@rhel6 ~]# grep -v '^#' /etc/dovecot/dovecot.conf |grep -v '^$' |grep -v '#'
!include conf.d/*.conf           //该配置项说明conf.d下的所以conf结尾的文件均有效,注意最前面的"!"号
protocols = imap pop3 lmtp
login_trusted_networks = 192.168.50.0/24   //指定允许登录的网段地址
dict {
}

若未设置login_trusted_networks参数值,使用telnet登录110端口,将会出现如下错误,不知道这个值能不能设置为四个零,这个还有待测试…

freebsd# telnet 192.168.50.24 110
Trying 192.168.50.24...
Connected to 192.168.50.24.
Escape character is '^]'.
+OK Dovecot ready. <
2564.2.4d106a4d.NTUFLnbszkRtt73yHZq2iw==@rhel6.766.com>
user oracle
-ERR Plaintext authentication disallowed on non-secure (SSL/TLS) connections.
pass oracle
-ERR Plaintext authentication disallowed on non-secure (SSL/TLS) connections.
quit
+OK Logging out
Connection closed by foreign host.

[root@rhel6 ~]# tail -f /var/log/maillog
Dec 21 16:51:00 rhel6 dovecot: pop3-login: Aborted login (tried to use disabled plaintext auth): rip=192.168.50.211, lip=192.168.50.24, mpid=0

5:设置/etc/dovecot/conf.d/10-mail.conf配置文件如下:
[root@rhel6 ~]# grep -v '^#' /etc/dovecot/conf.d/10-mail.conf  |grep -v '^$' |grep -v '#'
mail_location = mbox:~/mail:INBOX=/var/mail/%u
mbox_write_locks = fcntl

如未设置mail_location参数值,将会出现如下错误:
freebsd# telnet 192.168.50.24 110
Trying 192.168.50.24...
Connected to 192.168.50.24.
Escape character is '^]'.
+OK Dovecot ready. <
2656.1.4d106ad9.Ovoh/mkl1gK+XPX5qohEbA==@rhel6.766.com>
user oracle
+OK
pass oracle
Connection closed by foreign host.

[root@rhel6 ~]# tail -f /var/log/maillog
Dec 21 16:52:50 rhel6 dovecot: pop3-login: Login: user=<oracle>, method=PLAIN, rip=192.168.50.211, lip=192.168.50.24, mpid=9826, secured
Dec 21 16:52:50 rhel6 dovecot: pop3(oracle): Error: user oracle: Initialization failed: mail_location not set and autodetection failed: Mail storage autodetection failed with

home=/u01/oracle
Dec 21 16:52:50 rhel6 dovecot: pop3(oracle): Error: Invalid user settings. Refer to server log for more information.

设置完mail_location值后,需要重启dovecot服务,同时需要创建相关的目录,否则还会出现如下错误
freebsd# telnet 192.168.50.24 110
Trying 192.168.50.24...
Connected to 192.168.50.24.
Escape character is '^]'.
+OK Dovecot ready. <
2781.1.4d106bc3.JFuUEG+bO68ixpY2W1zihg==@rhel6.766.com>
user oracle
+OK
pass oracle
-ERR [IN-USE] Couldn't open INBOX: Internal error occurred. Refer to server log for more information. [2010-12-21 16:56:40]
Connection closed by foreign host.

[root@rhel6 ~]# tail -f /var/log/maillog
Dec 21 16:56:40 rhel6 dovecot: pop3-login: Login: user=<oracle>, method=PLAIN, rip=192.168.50.211, lip=192.168.50.24, mpid=10115, secured
Dec 21 16:56:41 rhel6 dovecot: pop3(oracle): Error: chown(/u01/oracle/mail/.imap/INBOX, -1, 12(mail)) failed: Operation not permitted (egid=501(dba), group based on

/var/mail/oracle)
Dec 21 16:56:41 rhel6 dovecot: pop3(oracle): Error: mkdir(/u01/oracle/mail/.imap/INBOX) failed: Operation not permitted
Dec 21 16:56:41 rhel6 dovecot: pop3(oracle): Error: Couldn't open INBOX: Internal error occurred. Refer to server log for more information. [2010-12-21 16:56:40]
Dec 21 16:56:41 rhel6 dovecot: pop3(oracle): Couldn't open INBOX top=0/0, retr=0/0, del=0/0, size=0


[root@rhel6 ~]# su - oracle
[oracle@rhel6 ~]$ mkdir -p /u01/oracle/mail/.imap/INBOX
[oracle@rhel6 ~]$ exit
logout
[root@rhel6 ~]# mail -s 'Postfix mail test' 
oracle@rhel6.766.com < /etc/hosts

freebsd# telnet 192.168.50.24 110
Trying 192.168.50.24...
Connected to 192.168.50.24.
Escape character is '^]'.
+OK Dovecot ready. <
2867.1.4d106ca7.L311rFiY7/LIWOTM2Cp3Xg==@rhel6.766.com>
user oracle
+OK
pass oracle
+OK Logged in.
list
+OK 5 messages:
1 672

6:为了使新创建的用户可以自动创建这个目录,可以修改/etc/skel/.bash_profile文件如下
[root@rhel6 ~]# tail -4 /etc/skel/.bash_profile

if [ ! -d ~/mail/.imap/INBOX ];then
     mkdir -p ~/mail/.imap/INBOX
fi

7:新建一个用户,并在win7 客户端收信测试

[root@rhel6 ~]# useradd tiger
[root@rhel6 ~]# echo '123456' |passwd --stdin tiger
更改用户 tiger 的密码 。
passwd: 所有的身份验证令牌已经成功更新。
[root@rhel6 ~]# mail -s 'tiger' 
tiger@rhel6.766.com < /etc/issue.net

 

 

 本文转自斩月博客51CTO博客,原文链接http://blog.51cto.com/ylw6006/461339如需转载请自行联系原作者


ylw6006

相关文章
|
2月前
|
存储 缓存 Ubuntu
在Ubuntu 18.04上安装和配置Postfix的方法
在Ubuntu 18.04上安装和配置Postfix的方法
67 1
|
2月前
|
Ubuntu Linux 数据库
如何在Ubuntu 16.04上安装和配置Postfix作为仅发送的SMTP服务器
如何在Ubuntu 16.04上安装和配置Postfix作为仅发送的SMTP服务器
32 0
|
2月前
|
存储 Ubuntu 安全
在Ubuntu 14.04上安装和配置Postfix的方法
在Ubuntu 14.04上安装和配置Postfix的方法
28 0
|
2月前
|
Ubuntu 安全 测试技术
如何在Ubuntu 14.04上安装和配置Postfix作为仅发送的SMTP服务器
如何在Ubuntu 14.04上安装和配置Postfix作为仅发送的SMTP服务器
31 0
|
5月前
|
存储 安全 Linux
linux centos7中使用 Postfix 和Dovecot搭建邮件系统
linux centos7中使用 Postfix 和Dovecot搭建邮件系统
205 1
|
5月前
|
存储 安全 Linux
linux中使用Postfix和Dovecot搭建邮箱系统服务
Postfix是一个开源的邮件传输代理(MTA),用于路由和传送电子邮件。它是一个可靠、安全且高性能的邮件服务器软件,常用于搭建邮件系统的核心组件之一。 Dovecot是一个开源的邮件服务软件,用于提供邮件访问服务,包括POP3和IMAP协议。它通常与Postfix配合使用,用于接收和存储邮件,以及为用户提供远程访问邮件的功能。
473 3
 linux中使用Postfix和Dovecot搭建邮箱系统服务
|
5月前
|
运维 网络协议 Linux
【运维系列】Centos7安装并配置postfix服务
安装CentOS7的Postfix和Dovecot,配置Postfix的`main.cf`文件,包括修改完全域名、允许所有IP、启用邮箱等。然后,配置Dovecot的多个配置文件以启用auth服务和调整相关设置。重启Postfix和Dovecot,设置开机自启,并关闭防火墙进行测试。最后,创建邮箱账户并在Windows邮箱客户端中添加账户设置。
192 0
|
存储 运维 监控
centos7.6部署Postfix+Dovecot邮件系统
一、理论部分 电子邮件系统基于邮件协议来完成电子邮件的传输 常用的协议有:    简单邮件传输协议(SMTP):用于发送和中转发出的电子邮件,占用服务器的TCP/25端口    邮局协议版本3(POP3):用于将电子邮件存储到本地主机,占用服务器的TCP/110端口    internet消息访问协议版本4(IMAP4):用于在本地主机访问邮件,占用服务器的TCP/143端
430 0
centos7.6部署Postfix+Dovecot邮件系统
|
网络协议 Linux 文件存储
Postfix 邮件服务器的配置
Postfix是一种功能强大且功能多样的邮件传输代理。在本文中,我们已经了解了如何使用postfix 和 dovecot为基于系统用户帐户的单个域实现基本电子邮件服务器。我们几乎没有涉及基于 postfix 的系统的真正功能,但希望能为新用户构建提供坚实的工作基础。
1714 0
|
网络安全 数据安全/隐私保护