热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS系统中安装配置Postfix+dovecot+openwebmail邮件服务器

一、先卸载sendmain[root@ser~]#yumremovesendmail二、安装postfix,dovecot,cyrus-sasl[root@ser~]#yum-yinstallpostfix[root@ser~]#yum-yinstalldovecot[root@ser~]#yum-yinstallcy

 一、先卸载sendmain
  [root@ser ~]#  yum remove sendmail
二、安装postfix ,dovecot,cyrus-sasl
[root@ser ~]#  yum -y install postfix
[root@ser ~]#  yum -y install dovecot
[root@ser ~]#  yum -y install cyrus-sasl
四、 修改postfix的配置文件
[root@ser ~]# vim /etc/postfix/main.cf

myhostname = mail.yjw.com 
mydomain = yjw.com 
myorigin = yjw.com 
inet_interfaces =all 
mynetworks = 192.168.1.0/24
relay_domains = yjw.com, $mydomain
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,       mail.$mydomain, 
www.$mydomain

ftp.$mydomain
重启 postfix 服务

[root@ser ~]# service postfix restart
Shutting down postfix:           [  OK  ]
Starting postfix:            [  OK  ]
[root@ser ~]# chkconfig  postfix on 
[root@ser ~]# chkconfig  dovecot on 
修改dovecot的配置文件
vim /etc/dovecot.conf
protocols = imap imaps  pop3 pop3s
listen = *
iptables 里开放25,110,143端口
[root@ser ~]# vim /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT
重启iptables
[root@ser ~]# service iptables restart
Flushing firewall rules:                [  OK  ]
Setting chains to policy ACCEPT: filter     [  OK  ]
Unloading iptables modules:             [  OK 
Applying iptables firewall rules:         [  OK  ]
Loading additional iptables modules: ip_conntrack_netbios_n[  OK  ]ntrack_ftp 
[root@ser ~]# yum -y install cyrus-sasl
[root@ser ~]# chkconfig  saslauthd on
修改 /etc/sysconfig/saslauthd
[root@ser ~]# vim /etc/sysconfig/saslauthd 

# Directory in which to place saslauthd's listening socket, pid file, and so
# on.  This directory must already exist.
SOCKETDIR=/var/run/saslauthd

# Mechanism to use when checking passwords.  Run "saslauthd -v" to get a list
# of which mechanism your installation was compiled with the ablity to use.
MECH=shadow

# Additional flags to pass to saslauthd on the command line.  See saslauthd(8)
# for the list of accepted flags.
FLAGS=
修改 /usr/lib/sasl2/smtpd.conf
[root@ser ~]# vim /usr/lib/sasl2/smtpd.conf
pwcheck_method: saslauthd
测试 saslauthd
[root@ser ~]# service saslauthd  restart
[root@ser ~]# testsaslautd  -u yjw -p '020304'
0: OK "Success."
在postfix 的配置文件中,添加以下内容,使其支持SMTP认证
[root@ser ~]#  vim /etc/postfix/main.cf
message_size_limit = 1073741824   # 邮件的大小为10M
default_process_limit = 50 
default_destination_concurrency_limit = 20

smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =  $myhostname

smtpd_sasl_application_name = smtpd

broken_sasl_auth_clients = yes
smtpd_recipient_restrictiOns= permit_mynetworks, permit_sasl_authenticated,
  reject_unauth_destination
smtpd_client_restrictiOns= permit_sasl_authenticated
smtpd_sasl_security_optiOns= noanonymous
测试 25端口
[root@ser ~]#  telnet mail.yjw.com 25  
Trying 192.168.1.2...
Connected to mail.yjw.com (192.168.1.2).
Escape character is '^]'.
220 mail.yjw.com ESMTP Postfix
EHLO  163.com
250-mail.yjw.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.
[root@ser ~]# 
五、安装openwebmail
[root@ser ~]# vim /etc/yum.repos.d/openwebmail.repo  
[openwebmail]
## Thomas Chung 
## 2008.05.29
name=Openwebmail for Fedora or Enterprise Linux
baseurl=http://openwebmail.org/openwebmail/download/redhat/rpm/release/
enabled=1
gpgcheck=1
gpgkey=http://openwebmail.org/openwebmail/download/redhat/rpm/release/RPM-GPG-KEY-openwebmail
#metadata_expire=0
若这样安装不成功,先安装 perl-Text-Iconv-1.4-1.2.el4.rf.i386.rpm
[root@ser ~]#  yum -y  install openwebmail 
[root@ser ~]# cd /var/www/cgi-bin/openwebmail/
[root@ser openwebmail]# ./openwebmail-tool.pl  --init  #出现Y/N时 ,按N.
修改openwebmail 的一些配置文件
[root@ser etc]# vim dbm.conf 
dbm_ext                 .db
dbmopen_ext             .db
dbmopen_haslock         no
[root@ser etc]]# cd defaults/
[root@ser defaults]#  vim dbm.conf 
dbm_ext                 .db
dbmopen_ext             .db
dbmopen_haslock         yes
smtpserver  192.168.1.2
[root@ser defaults]#  vim openwebmail.conf
domainnames             yjw.com
smtpserver              192.168.1.2
authpop3_server         192.168.1.2
再次初始化openwebmail
[root@ser defaults]# cd  ../../openwebmail-tool.pl  --init  
出现Y/N 时,按Y。

把Postfix+Dovecot+Openwebmail 三者个格式统一下就行了
1.postfix 配置 main.cf
mail_spool_directory = /var/spool/mail
2.Dovecot 配置 Dovecot.conf
mail_location = mbox:~/mail:INBOX=/var/spool/mail/%u
3.Openwebmail.conf
mailspooldir /var/spool/mail


六、安装httpd
[root@ser ~]# yum - y install httpd
[root@ser ~]# chkconfig httpd on 
[root@ser ~]# service httpd restart
Stopping httpd:              [  OK  ]
Starting httpd:              [  OK  ]
[root@ser ~]# vim /etc/httpd/conf/httpd.conf 
ServerAdmin 
root@yjw.com
ServerName  mail.yjw.com:80 
AddHandler cgi-script .cgi .pl
七、登陆openwebmail.
在IE 中输入  mail.yjw.com/cgi-bin/openwebmail/openwebmail.pl,  这个地址是不是很长,那么我们来点短点的
在  httpd的 配置文件中添加 下面 内容:
ScriptAlias  /mail    /var/www/cgi-bin/openwebmail/openwebmail.pl
这样在IE 中直接输入
mail.yjw.com/mail
八、安装反垃圾邮件软件,MailScanner
到MailScanner .org 上下载MailScanner-4.75.11-1.rpm.tar.gz 
[root@ser ~]#  tar zxvf  MailScanner-4.75.11-1.rpm.tar.gz
[root@ser ~]#  cd  MailScanner-4.75.11
[root@ser MailScanner-4.75.11-1]# ./install.sh    # 安装
安装 spamassassin
先检查您的系统内是否已经安装SpamAssassin软件包。在文本终端中输入:
[root@ser ~]#          rpm -qa | grep spamassassin
spamassassin-3.1.9-1.el5
下载Mail-SpamAssassin-3.2.5.tar.gz
[root@ser ~]#tar  -zxvf Mail-SpamAssassin-3.2.5.tar.gz
[root@ser ~]# cd Mail-SpamAssassin-3.2.5
[root@ser ~]# perl Makefile.PL
[root@ser ~]# make 
[root@ser ~]#  make install
打开/etc/MailScanner/目录中的MailScanner.conf文件,主要说明修改的关键部分:
%org-name%  = yjw.com
%org-long-name% = yjw
web-site% = mail.yjw.com
Run As User = postfix
Run As Group = postfix
Incoming Queue Dir = /var/spool/postfix/hold
Outgoing Queue Dir = /var/spool/postfix/incoming
MTA = postfix
Incoming Work Group = postfix
Quarantine User = postfix  
Quarantine Group = postfix
Always Include SpamAssassin Report = yes
SpamAssassin User State Dir = /var/spool/MailScanner/spamassassin
SpamAssassin Install Prefix = /usr/bin
Log Speed = yes
Log Spam = yes
Log Silent Viruses = yes
Phishing Modify Subject = yes
更改incoming,quarantine 两个2个目录
[root@ser ~]# service spamassassin restart
[root@ser ~]# service spamassassin on
[root@ser ~]# service MailScanner  restart 
[root@ser ~]# service MailScanner  on
[root@ser ~]# chown -R postfix:postfix /var/spool/MailScanner/*
[root@ser ~]# cd /var/spool/MailScanner/
[root@ser MailScanner]# ll
drwxr-xr-x 4 postfix postfix 4096 Apr 30 16:56 incoming
drwxr-xr-x 3 postfix postfix 4096 Apr 29 19:10 quarantine
drwx------ 2 postfix postfix 4096 Apr 30 15:58 spamassassin
在/etc/postfix/header_checks 中增加一句话:
[root@ser ~]# vi  /etc/postfix/header_checks 
/^Received:/    HOLD  
设置中文邮件过滤规则
[root@ser ~]# wget -N -P 
http://www.ccert.edn.cn/spam/sa/Chiese_rules.cf
  /usr/share/spamassassin
使用计划任务来更新规则
[root@ser ~]#  crontab  -e
0 0 1 * * wget - N  -P   /usr/share/spamassassin 
http://www.ccert.edu.cn/spam/sa/Chiness_rules.cf
;  /etc/init.d/spamassassin restart
九、登陆openwebmail, 测试 收信,发信是否正常
[root@ser ~]# useradd  tom
[root@ser ~]# passwd  tom 
tom
tom
[root@ser ~]# useradd yjw
[root@ser ~]# passwd  yjw 



推荐阅读
  • Docker基础入门与环境配置指南
    本文介绍了Docker——一款用Go语言编写的开源应用程序容器引擎。通过Docker,用户能够将应用及其依赖打包进容器内,实现高效、轻量级的虚拟化。容器之间采用沙箱机制,确保彼此隔离且资源消耗低。 ... [详细]
  • 在尝试使用Ubuntu 10.04进行Android开发时,遇到了系统无法识别HTC G1设备的情况。本文将详细介绍如何通过配置系统和安装必要的驱动来解决这一问题。 ... [详细]
  • 在尝试加载支持推送通知的iOS应用程序的Ad Hoc构建时,遇到了‘no valid aps-environment entitlement found for application’的错误提示。本文将探讨此错误的原因及多种可能的解决方案。 ... [详细]
  • Ubuntu 14.04 系统安装后网卡名称修改方法
    本文介绍了在安装 Ubuntu 14.04 Server 版本后,如何将默认的网卡名称从非 eth 格式修改为传统的 eth 格式,并提供了详细的步骤和示例。 ... [详细]
  • ZOJ 2760 - 最大流问题
    题目链接:How Many Shortest Paths。题目描述:给定一个包含n个节点的有向图,通过一个n*n的矩阵来表示。矩阵中的a[i][j]值为-1表示从节点i到节点j无直接路径;否则,该值表示从i到j的路径长度。输入起点vs和终点vt,计算从vs到vt的所有不共享任何边的最短路径数量。如果起点和终点相同,则输出无穷大。 ... [详细]
  • A1166 峰会区域安排问题(25分)PAT甲级 C++满分解析【图论】
    峰会是指国家元首或政府首脑之间的会议。合理安排峰会的休息区是一项复杂的工作,理想的情况是邀请的每位领导人都是彼此的直接朋友。 ... [详细]
  • 本文详细探讨了如何处理包含多种分隔符的字符串分割问题,并提供了一个高效的C++实现方案。 ... [详细]
  • 本题要求计算从起点到终点所有最短路径的总权重,使用SPFA算法进行求解。 ... [详细]
  • 本文介绍了Linux内核中TCP的三种接收队列:Prequeue、sk_receive_queue和Backlog。这些队列在数据包处理过程中扮演着重要角色,帮助提高系统性能和效率。 ... [详细]
  • 本文详细介绍了Objective-C中的面向对象编程概念,重点探讨了类的定义、方法的实现、对象的创建与销毁等内容,旨在帮助开发者更好地理解和应用Objective-C的面向对象特性。 ... [详细]
  • 最新进展:作为最接近官方声明的信息源,本文吸引了大量关注。若需获取最新动态,请访问:lkhill.com/ccie-version-5-update ... [详细]
  • ED Tree HDU4812 点分治+逆元
    这道题非常巧妙!!!我们进行点分治的时候,算出当前子节点的所有子树中的节点,到当前节点节点的儿子节点的距离,如下图意思就是当前节点的红色节点,我们要求出红色节点的儿子节点绿色节点, ... [详细]
  • 本文详细介绍了Python中的生成器表达式、列表推导式、字典推导式及集合推导式等,探讨了它们之间的差异,并提供了丰富的代码示例。 ... [详细]
  • 本文概述了在GNU/Linux系统中,动态库在链接和运行阶段的搜索路径及其指定方法,包括通过编译时参数、环境变量及系统配置文件等方式来控制动态库的查找路径。 ... [详细]
  • 本文详细介绍了如何在Windows和Linux系统上配置Openfire服务器,包括安装步骤、数据库配置及端口映射等关键环节。 ... [详细]
author-avatar
手机用户2502906277
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有