postfix+ dovecot+extmail
- 格式:doc
- 大小:70.00 KB
- 文档页数:8
RHEL/CentOS上安装配置Postfix + Extmail 邮件服务系统一、文档简介:本文以最简单方便的方法在centos 5.2 上安装全功能邮件系统,此文适合REDHAT所有系列,在文中,能用RPM 安装的,我们将采用rpm 安装,如果rpm没有的,我们将创建自己的rpm。
部分软件简介:1、AMP ---apache(web服务) 、mysql(数据库)、php(非必需) 的简称2、postfix --mta 邮件系统核心3、courier-authlib--一个为courier-imap,maildrop,sasl2 提供用户信息的后台进程序4、courier-imap --提供pop3,pop3s,imap,imaps 服务的程序5、amavisd-new --提供内容过滤6、clamav -- 著名的杀毒软件7、extmail --一个著名的webmail程序8、extman --与extmail集成的后台管理程序9、slockd --一个基于smtp阶段的反垃圾邮件程序10、vhmgr --由本文作者编写,用于管理apache,ftp,mysql 的虚拟主机管理程序。
安装环境:centos 5.2域名机器名:域名:二、安装系统安装系统时,选择“customize software selection”(自定义安装),在package group selection 对话框里选择:[*]base[*]devlopment libraries[*]development tools[*]editors[*]text-base internet其它不选择。
在setup agnet(或进入系统后运行setup) 里选择firewall configuration 将security level 与SELinux 改为disabled,目的是为了避免在安装调试时产生不必要的麻烦,在系统安装完成后,可以自己去调试安全部分,在这里将不作详细介绍。
构建postfix邮件服务器(五)extmail和extman的安装,实现web使用和管理邮件系统2010年3月17日稀饭发表评论阅读评论一、准备1.在 中下载extmail-1.2.tar.gz 和extman1.1Extmail 用于从浏览器中登入、使用邮件系统Extman 用于从浏览器中管邮件系统2.由于安装extmail要用到以下三个包(到 中搜索)1)Unix-Syslog /~mharnisch/Unix-Syslog-1.1/Syslog.pm2)DBI /~timb/DBI-1.609/3)DBD-mysql /~capttofu/DBD-mysql-4.013/lib/DBD/mysql.pm3.安装Extman web管理要用到以下四个软件包1)GD /~lds/GD-2.44/ 解决验证码2)File-Tail /~mgrabnar/File-Tail-0.99.3/ 支持图形日志3)rrdtool-1.2.23-3..el5.i386.rpm 支持图形日志4)rrdtool-perl-1.2.23-3.el5.i386.rpm 支持图形日志二、按先后顺序安装以下软件1.安装Unix-Syslog1)解压tar zxvf Unix-Syslog-1.1.tar.gz2)进入目录cd Unix-syslog-1.13)预配置perl Makefile.PL4)编译,安装make ; make install2.安装DBI1)解压tar zxvf DBI-1.609.tar.gz2)进入目录cd DBI-1.6093)预配置perl Makefile.PL4)编译,安装make ; make install3.安装DBI1)export PATH=$PATH:/usr/local/mysql/bin/ (这一步必须)2)解压tar DBD-mysql-4.013.tar.gz3)进入目录cd DBD-mysql-4.013.tar.gz4)预配置perl Makefile.PL5)编译,安装make ; make install4.安装GD1)解压tar zxvf GD-2.44.tar.gz2)进入目录cd DBI-1.6093)预配置perl Makefile.PL4)编译,安装make ; make install5.安装File-Tail1)解压tar zxvf File-Tail-0.99.3.tar.gz2)进入目录cd File-Tail-0.99.33)预配置perl Makefile.PL4)编译,安装make ; make install6.安装rrdtoolrpm -ivh rrdtool-1.2.23-3.el5.wrl.i386.rpmrpm -ivh rrdtool-perl-1.2.23-3.el5.wrl.i386.rpm三、安装Extmail套件1.解压extmail1.2到apache服务器的WEB文档根目录中去tar zxvf extmail-1.2.tar.gz -C /usr/local/apache2/htdocs/2.进入WEB文档目录修改extmai-1.2目录的名字cd /usr/local/apache2/htdocs/mv extmail-1.2 extmail3.调整cgi子目录的属主和属组,以便Apache服务器有权限执行suexec操作cd extmail/chown -R postfix:postfix cgi4.建立webmail.cf 配置文件,并修改cp webmail.cf.default webmail.cfvi /usr/local/apache2/htdocs/extmail/webmail.cfSYS_CONFIG = /usr/local/apache2/htdocs/extmail/ \\程序根目录SYS_LANGDIR = /usr/local/apache2/htdocs/extmail/lang \\ 语言包文件目录SYS_TEMPLDIR = /usr/local/apache2/htdocs/extmail/html \\系统模板目录SYS_MAILDIR_BASE = /mailbox \\邮件存储目录SYS_MYSQL_USER = extmail \\访问myslq数据库的用户名SYS_MYSQL_PASS = extmail \\访问msyql数据用户的面貌SYS_MYSQL_DB = extmail \\使用的数据库名称SYS_MYSQL_HOST = localhost \\msyql服务器的地址SYS_MYSQL_SOCKET = /tmp/mysql.sock \\mysql套接字文件位置5.调整apache的httpd.conf配置文件,并添加一个虚拟主机,重启httpd服务1)调整httpd.conf 开启虚拟主机(配置文件是/usr/local /apache2/conf/httpd.con)①vi /usr/local/apache2/conf/httpd.conf②查找vhost,找到#Include conf/extra/httpd-vhosts.conf 去掉前面的#号2)添加一个虚拟机(配置文件在/usr/local/apache2/conf/extra/httpd-vhosts.conf)vim /usr/local/apache2/conf/extra/httpd-vhosts.conf修改成以下内容NameVirtualHost 192.168.18.138:80<VirtualHost 192.168.18.138:80>ServerName DocumentRoot /usr/local/apache2/htdocs/extmail/html/ScriptAlias /extmail/cgi/ /usr/local/apache2/htdocs/extmail/cgi/Alias /extmail /usr/local/apache2/htdocs/extmail/html/SuexecUserGroup postfix postfix</VirtualHost>6.在游览器中输入 ,进入下图界面表示成功四、安装Extman web 管理界面1.解压extman1.1到apache服务器的WEB文档根目录中去tar zxvf extman-1.1 -C /usr/local/apache2/htdocs/2.进入WEB文档目录修改extman1.1目录的名字cd /usr/local/apache2/htdocs/mv extman-1.1 extman3.调整cgi子目录的属主和属组,以便Apache服务器有权限执行suexec操作chown -R postfix:postfix /usr/local/apache2/htdocs/extman/cgi/4.创建系统链式会话保存目录,将属主和属组设置为postfixmkdir /tmp/extmanchown -R postfix:postfix /tmp/extman/5.建立webmail.cf 配置文件,并修改cd /usr/local/apache2/htdocs/extman/cp webmail.cf.default webmail.cfvi /usr/local/apache2/htdocs/extman/webman.cfSYS_CONFIG = /usr/local/apache2/htdocs/extman/ \\程序根目录SYS_LANGDIR = /usr/local/apache2/htdocs/extman/lang \\ 语言包文件目录SYS_TEMPLDIR = /usr/local/apache2/htdocs/extman/html \\系统模板目录SYS_MAILDIR_BASE = /mailbox \\邮件存储目录SYS_MYSQL_USER = webman \\访问myslq数据库的用户名SYS_MYSQL_PASS = webman \\访问msyql数据用户的面貌SYS_MYSQL_DB = extmail \\使用的数据库名称SYS_MYSQL_HOST = localhost \\msyql服务器的地址SYS_MYSQL_SOCKET = /tmp/mysql.sock \\mysql套接字文件位置6.调整apache虚拟机的配置(配置文件在/usr/local/apache2/conf/extra/httpd-vhosts.conf)1)在原来对应Extmail套件的虚拟主机配置中,添加extman相关目录的别名设置即可,无需重新建立虚拟主机①vi /usr/local/apache2/conf/extra/httpd-vhosts.conf②添加如下两行ScriptAlias /extman/cgi/ /usr/local/apache2/htdocs/extman/cgi/Alias /extman /usr/local/apache2/htdocs/extman/html/2)重启apache/usr/local/apache2/bin/apachectl restart7.测试1)在浏览器中输入/extman进入下图表示成功2)默认用户为root@ 密码为extmail*123*8.启用图形化日志信息1)进入mailgraph_ext目录cd /usr/local/apache2/htdocs/extman/addon/mailgraph_ext/2)新建mailgraph_ext目录mkdir /usr/local/mailgraph_ext3)复制脚本mailgraph_ext.pl和qmonitor.pl到新建的目录Cp mailgraph_ext.pl qmonitor.pl /usr/local/mailgraph_ext/4)启动/usr/local/apache2/htdocs/extman/addon/mailgraph_ext/mailgraph-init start /usr/local/apache2/htdocs/extman/addon/mailgraph_ext/qmonitor.pl start &5)当在extman中点击图形日志时出现下图表示成功。
安装环境:Centos5.5 32位系统rpm安装apache、mysql、php编译安装postfix、dovecot一、安装Centos5.5系统将Centos5.5光盘放入光驱启动系统出现如下画面直接回车系统提示”是否需要校验cd媒介”,选择“Skip”跳过安装欢迎界面:点击next选择安装界面语言选择键盘类型默认即可分区设置选择“是”点击“下一步”选择“检验和修改分区方案”选择“是”然后点击“下一步”手动分区(如果不想手动分区在上一步不要选择“检验和修改分区方案”)点击“重置”创建boot分区大小分300M(默认的100M也足够了)创建交换分区(如果物理内存较小swap分区大小就设为物理内存两倍,如果物理内存较大设为同内存一样大就Ok了)创建home分区(主要用于存放数据)创建根分区()完成分区安装grub引导程序设置网络设置时区设置超级用户root密码软件选择界面选择“现在定制”如果不需要图形界面可以将Desktop-Gnome去掉“应用程序”中只选择“编辑器”就行了“服务器”中选择“MySQL数据库”、“万维网服务器”(也就是mysql和apache)选择“MySQL数据库”---可选的软件包选择php-mysql组件“开发”中选择开发工具开始安装系统和定制的软件安装完成系统设置向导禁用防火墙禁用SElinux不用选择Kdump直接点击“前进”即可时间和日期设置创建用户(创建普通用户,如果不想创建直接点击“前进”)重启系统完成设置打开终端修改/etc/inittab 将id:5:initdefault:改为id:3:initdefault:设置为3用户模式启动系统(不带图形界面)如果之前安装的时候没有安装Desktop-Gnom这里默认进入3用户模式就不需要设置该项如果在装系统时没有安装apache、mysql、php系统安装完成之后可以通过rpm或者yum在线安装apache、mysql、php#yum install httpd-manual httpd system-config-httpd#yum install php-mysql mysql libdbi-dbd-mysql mysql-connector-odbc mysql-server mysql-devel #yum install php-cli php-mysql php-ldap php-pdo php php-common开启apache、mysql#service httpd start#service mysqld start测试phpvi /var/www/html/test.php内容如下:<?phpphpinfo();?>在浏览器里输入http://your ip/test.php成功运行将会出现PHP的logo图标和配置信息。
邮件服务器解决方案随着互联网的发展,邮件已经成为人们日常生活和工作中不可或缺的一部分。
邮件服务器作为邮件传输的关键设备,选择合适的邮件服务器解决方案对于保障邮件的安全、稳定和高效传输至关重要。
本文将介绍几种常见的邮件服务器解决方案,帮助您选择最适合自己需求的方案。
一、基于开源软件的1.1 使用Postfix作为邮件传输代理- Postfix是一种开源的邮件传输代理软件,具有轻量级、高效、安全等特点。
- Postfix支持多种邮件协议,如SMTP、POP3、IMAP等,适用于各种规模的邮件服务器。
- Postfix有丰富的插件和扩展功能,可以满足不同用户的需求。
1.2 配合Dovecot提供邮件存储服务- Dovecot是一种流行的开源邮件存储软件,支持多种邮件存储协议,如POP3、IMAP等。
- Dovecot提供高性能的邮件存储服务,支持多用户、多邮箱的管理。
- Dovecot与Postfix配合使用,可以实现完整的邮件服务器功能,包括邮件传输和存储。
1.3 使用SpamAssassin进行垃圾邮件过滤- SpamAssassin是一种开源的垃圾邮件过滤软件,可以有效识别和过滤垃圾邮件。
- SpamAssassin基于规则引擎和机器学习算法,可以不断学习和适应新的垃圾邮件特征。
- SpamAssassin可以与Postfix和Dovecot集成,提供全面的垃圾邮件过滤服务。
二、商业2.1 Microsoft Exchange Server- Microsoft Exchange Server是一种商业邮件服务器软件,提供全面的邮件服务,包括邮件传输、存储、日历、联系人等功能。
- Exchange Server与Microsoft Outlook等客户端软件集成紧密,提供便捷的邮件管理和协作功能。
- Exchange Server支持企业级的安全和可靠性需求,适用于大中型企业使用。
2.2 IBM Domino- IBM Domino是一种企业级邮件服务器软件,提供邮件、日历、联系人、协作等功能。
构建postfix邮件服务器(一)1、编译安装Postfix[root@mail ~]# groupadd -g 1200 postdrop[root@mail ~]# groupadd -g 1000 postfix[root@mail ~]# useradd -M -s /sbin/nologin -u 1000 -g postfix -G postdrop postfix[root@mail ~]# tar zxf postfix-2.4.6.tar.gz[root@mail ~]# gunzip postfix-2.4.6-vda-ng.patch.gz[root@mail ~]# cd postfix-2.4.6[root@mail postfix-2.4.6]# patch -p1 < ../postfix-2.4.6-vda-ng.patchpatching file README_FILES/VDA_READMEpatching file src/global/mail_params.hpatching file src/util/file_limit.cpatching file src/virtual/mailbox.cpatching file src/virtual/maildir.cpatching file src/virtual/virtual.cpatching file src/virtual/virtual.h[root@mail postfix-2.4.6]#预配置编译参数[root@mail postfix-2.4.6]# make makefiles \'CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include/mysql \-DUSE_SASL_AUTH \-DUSE_CYRUS_SASL -I/usr/include/sasl' \'AUXLIBS=-L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lm \-L/usr/lib/sasl2 -lsasl2 ' && make && make install //编译并进行安装Postfix的配置文件(Postfix系统最主要的配置文件包括:/etc/postfix/main.cf 和/etc/postfix/master.cf.前者是postfix服务的配置文件,后者是master程序的配置文件)[root@mail postfix-2.4.6]# postconf –n //-n 将只列出不同于默认值的配置参数command_directory = /usr/sbinconfig_directory = /etc/postfixdaemon_directory = /usr/libexec/postfixdebug_peer_level = 2html_directory = nomail_owner = postfixmailq_path = /usr/bin/mailqmanpage_directory = /usr/local/mannewaliases_path = /usr/bin/newaliasesqueue_directory = /var/spool/postfixreadme_directory = nosample_directory = /etc/postfixsendmail_path = /usr/sbin/sendmailsetgid_group = postdropunknown_local_recipient_reject_code = 550[root@mail postfix-2.4.6]#[root@mail postfix-2.4.6]# cd /etc/postfix/[root@mail postfix]# postconf -n > main2.cf[root@mail postfix]# mv main.cf main.cf.bak[root@mail postfix]# mv main2.cf main.cfPostfix的启动控制[root@mail postfix]# postfix startpostfix/postfix-script: starting the Postfix mail system[root@mail postfix]# netstat -anpt | grep :25tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 1995/master[root@mail postfix]# postfix check //若配置无误,不会反馈任何信息[root@mail postfix]# postfix reload //重新载入配置信息,而不需要重启Postfix服务postfix/postfix-script: refreshing the Postfix mail system[root@mail postfix]# postfix stoppostfix/postfix-script: stopping the Postfix mail system[root@mail postfix]#配置基于Postfix构建简单电子邮件系统:1、编辑main.cf文件,调整运行Postfix的基本参数[root@mail postfix]#vi main.cfinet_interfaces=192.168.1.199, 127.0.0.1 //设置postfix服务监听的IP地址,缺省为allmyhostname= //设置postfix服务器使用的主机名mydomain= //设置postfix服务器使用的邮件域myorigin=$mydomain //设置外发邮件时发件人地址中的邮件域名mydestination=$mydomain,$myhostname //设置可接收的邮件地址中的域名home_mailbox=Maildir/ //设置邮件存储位置和格式2、添加邮件用户的帐号[root@mail postfix]# groupadd mailusers[root@mail postfix]# useradd -g mailusers -s /sbin/nologin xiaowu[root@mail postfix]# useradd -g mailusers -s /sbin/nologin juncai[root@mail postfix]# passwd xiaowuChanging password for user xiaowu.New UNIX password:BAD PASSWORD: it is based on a dictionary wordRetype new UNIX password:passwd: all authentication tokens updated successfully.[root@mail postfix]# passwd juncaiChanging password for user juncai.New UNIX password:BAD PASSWORD: it is based on a dictionary wordRetype new UNIX password:passwd: all authentication tokens updated successfully.[root@mail postfix]##echo 12345 | passwd --stdin xiaowu //或这样赋予密码Changing password for user xiaowu.passwd: all authentication tokens updated successfully.3、SMTP发送邮件测试[root@mail postfix]# telnet localhost 25Trying 127.0.0.1...Connected to localhost.localdomain (127.0.0.1).Escape character is '^]'.220 ESMTP Postfixehlo 250 250-PIPELINING250-SIZE 10240000250-VRFY250-ETRN250-ENHANCEDSTATUSCODES250-8BITMIME250 DSNmail from:xiaowu@250 2.1.0 Okrcpt to:juncai@250 2.1.5 Okdata354 End data with <CR><LF>.<CR><LF>subject: A TEST MAILHELLO!This is a test mail !!!.250 2.0.0 Ok: queued as 229784E100quit221 2.0.0 ByeConnection closed by foreign host.#grep 229784E100 /var/log/messages //查找发信状态[root@mail postfix]# cat ~juncai/Maildir/new/Return-Path: <xiaowu@>X-Original-To: juncai@Delivered-To: juncai@Received: from localhost (localhost.localdomain [127.0.0.1])by (Postfix) with SMTP id 229784E100for <juncai@>; Thu, 17 Mar 2011 03:02:45 +0800 (CST)subject: A TEST MAILMessage-Id: <20110316190254.229784E100@>Date: Thu, 17 Mar 2011 03:02:45 +0800 (CST)From: xiaowu@To: undisclosed-recipients:;HELLO!This is a test mail !!![root@mail postfix]#构建Dovecot服务器1、编译安装Dovecot软件包[root@mail ~]#useradd –M –s /sbin/nologin dovecot[root@mail ~]#tar zxvf dovecot-1.1.4.tar.gz[root@mail ~]#cd dovecot-1.1.4[root@mail dovecot-1.1.4]# ./configure --sysconfdir=/etc --with-mysql && make && make install2、配置Dovecot的运行参数(1)建立dovecot.conf配置文件并进行简单设置[root@mail dovecot-1.1.4]# cp /etc/dovecot-example.conf /etc/dovecot.conf[root@mail dovecot-1.1.4]#vi /etc/dovecot.confssl_disable = yesprotocols = imap pop3disable_plaintext_auth = nomail_location = maildir:~/Maildir(2)创建PAM认证文件[root@mail dovecot-1.1.4]# vi /etc/pam.d/dovecotauth required pam_nologin.soauth include system-authaccount include system-authsession include system-auth3、启动Dovecot服务[root@mail ~]# /usr/local/sbin/dovecot -c /etc/dovecot.conf[root@mail ~]# netstat -anpt | grep dovecottcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 3713/dovecottcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 3713/dovecot[root@mail ~]#4、POP3接收邮件测试[root@mail ~]# telnet localhost 110Trying 127.0.0.1...Connected to localhost.localdomain (127.0.0.1).Escape character is '^]'.+OK Dovecot ready.user juncai+OKpass juncai+OK Logged in.list+OK 1 messages:1 511.retr 1+OK 511 octetsReturn-Path: <xiaowu@>X-Original-To: juncai@Delivered-To: juncai@Received: from localhost (localhost.localdomain [127.0.0.1])by (Postfix) with SMTP id 229784E100for <juncai@>; Thu, 17 Mar 2011 03:02:45 +0800 (CST) subject: A TEST MAILMessage-Id: <20110316190254.229784E100@>Date: Thu, 17 Mar 2011 03:02:45 +0800 (CST)From: xiaowu@To: undisclosed-recipients:;HELLO!This is a test mail !!!.quit+OK Logging out.Connection closed by foreign host.[root@mail ~]#WEBMAIL邮件界面SquirrelMail的工作流程1、依次安装squirrelmail程序包、中文语言包[root@mail ~]# tar jxvf squirrelmail-1.4.13.tar.bz2 -C /usr/local/apache2/htdocs /webmail[root@mail ~]# cd /usr/local/apache2/htdocs/webmail/[root@mail webmail]# tar jxvf ~/zh_CN-1.4.13-20071220.tar.bz22、创建及调整数据目录、附件目录[root@mail webmail]# mkdir -p attach data[root@mail webmail]# chown -R daemon:daemon attach/ data/ [root@mail webmail]# chmod 730 attach/3、建立config.php配置文件[root@mail webmail]# cp config/config_default.php config/config.php [root@mail webmail]# vi config/config.php$squirrelmail_default_language = 'zh_CN';'en_US' $default_charset = 'zh_CN.UTF-8'; 'iso-8859-1' $domain = '';$smtpServerAddress = 'localhost';$smtpPort = 25;$imapPort = 143;$imap_server_type = 'dovecot';$data_dir = '/usr/local/apache2/htdocs/webmail/data/'; $attachment_dir = '/usr/local/apache2/htdocs/webmail/attach/';4、重新启动httpd服务,并在浏览器中登录squirrelmail系统[root@mail webmail]# ../../bin/apachectl restart在该界面中可以完成发信、收信等电子邮件服务的基本操作。
Linux下的邮件服务器Postfix(一)在Linux下1、挂载光驱建立DNS服务器的MX记录:正向:反向:2、创建用户和密码:看一下邮箱邮件默认保存在这里:3、安装Postfix包,开启Postfix服务:4、关闭sendmail服务:5、编辑/etc/postfix/main.cf文件找到这几项修改其余不改:myhostname = 邮件主机的完整名称mydomain = 邮件主机域名myorigin = $mydomain(表示所有)设置发件人邮件地址的网域名inet_interfaces = all (表示监听所有端口)监听端口【把下面的inet_interfaces=localhost注释掉】mydestination = $myhostname, $mydomain(表示所有)指定接收邮件时收件人的域名mynetworks = 192.168.1.0/24, 127.0.0.0/8(192.168.1.0/24表示这个网段,127.0.0.0/8表示本地)设置可以为其转发邮件的网络relay_domains = $mydestination(表示所有)设置可以为其转发邮件的域名6、重新启动服务:7、验证:发信:#telnet 25 telnet到邮件服务器的25号端口helo 用helo或ehlo介绍自己(可以不写)mail from:li@ 发信人地址rcpt to:gen@ 收件人地址data 表示开始输入邮件正文Hello! 邮件正文.新起一行以“.”表示正文结束quit 退出telnet收信:Linux下的邮件服务器Postfix(二)windows下第三方软件在(一)的基础上作:1、安装软件包dovecot、perl-DBI和mysql:2、修改主配置文件/etc/dovecot.conf3、开启服务重启服务器:4、将windows的首选DNS指向写成DNS服务器IP:5、验证:安装一个收发邮件的软件,然后在用windows自带的邮件收发软件(开始---程序---Outlook Express)互相测试:Windows自带的:工具-----账户-----添加-----邮件------软件安装完后:开始----程序-----找到刚安装的收发邮件的软件Windows Live Mail点开发一封邮件试一下(抄送是同时发给谁):这里有可能被认为是垃圾邮件:再用另一种软件(pine)测试一下:在windows中安装这个软件(这个软件可以在Linux里用但要依赖很多包所以这里只在windows里试一下):再选几个OK或是就进入:点回车:选择S项:选中前四一项一项调(选中后双击可调,回车确定):到li中查看一下:设置Postfix服务器邮件转发和用户的别名在(一)(二)的基础上(这个大致写一下):1、编辑配置文件/etc/aliases文件的记录格式(在最下面添加)用户的别名(假名):用户的真名admin: root 邮件的别名(发给admin也就是发给root)group: user1,user2邮件的群发(发给group也就是发给user1、user2….. user1:root@邮件转发(将发给user1的邮件发给root用户)2、修改aliases文件后更新aliases.db文件postalias hash:/etc/aliases3、刷新服务器。
postfix邮件服务的配置postfix服务的基本配置与Sendmail相比,Postfix最被人称道的地方就在于其配置文件的可读性很高。
Postfix 的主配置文件是/etc/postfix/main.cf。
虽然该配置文件的内容比较多,但其中大部分内容都是注释(“#”号开头的行),真正需要自行定义的参数并不多,而且这些参数就算不去定义,按照默认值也可以运行,只不过它只监听127.0.0.1这个接口的邮件收发。
如果要使它能够支持客户端完成最基本的邮件收发任务,通常还需要进行下面的设置。
1.设置运行Postfix服务的邮件主机的主机名、域名用myhostname参数指定运行Postfix服务的邮件主机的主机名称(FQDN名),用mydomai n参数指定该主机的域名称。
当然这两个参数也可以不进行设置,缺省情况下,myhostname 参数被设置为本地主机名,而且Postfix会自动将myhostname参数值的第一部分删除并将其余部分作为mydomain参数的值。
2.设置由本机寄出的邮件所使用的域名或主机名称myorigin参数实际上是设置由本台邮件主机寄出的每封邮件的邮件头中mail from的地址。
由于Postfix默认使用本地主机名作为myorigin参数的值,因此一封由本地邮件主机寄出的邮件的邮件头中就会含有如“From:‘lbt’<lbt@>”这样的内容,它表明这封邮件是从主机发来的。
不过,建议读者将myorigin参数设置为本地邮件主机的域名(即“myorigin = 或$mydomain”),这样一封由本地邮件主机寄出的邮件的邮件头中就会含有如“From:‘lbt’<lbt@>”这样的内容,显然更具有可读性。
3.设置Postfix服务监听的网络接口默认情况下,inet_interfaces参数的值被设置为localhost,这表明只能在本地邮件主机上寄信。
如果邮件主机上有多个网络接口,而又不想使全部的网络接口都开放Postfix服务,就可以用主机名指定需要开放的网络接口。
这是针对sentos5.4系统做的用原光盘iso 做源来安装mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.b mkdir /media/cdrom修改源文件yum --disablerepo =* --enablerepo=c5-media install db4-devel zlib-devel openldap-devel cyrus-sasl-devel pcre-develmysql mysql-devel openssl-devel gcc-c++ rpm-build mysql-server httpd php-* dovecotlamp就已经安装好了-修改apache配置文件即可chkconfig httpd onchkconfig mysqld onservice httpd startservice mysqld start# rpm -ivh perl-Unix-Syslog-1.1-1.el5.rf.i386.rpm# mkdir –pv /usr/src/redhat/SPECS/# rpm -ivh postfix-2.3.3-2.src.rpm# vi /usr/src/redhat/SPECS/postfix.spec因为我需要mysql 认证postfix 的用户,所以修改一下postfix.spec ,%define MYSQL 0 改为 %define MYSQL 1Postfix的uid gid 100以上500以上,%define postfix_uid 510%define postfix_user postfix%define postfix_gid 150%define postfix_group postfix%define postdrop_group postdrop原因,apache执行cgi的用户条件suexec模块修改完成后建立一个二进制的postfix包# rpmbuild -ba /usr/src/redhat/SPECS/postfix.spec现在开始安装刚编辑过的postfix 包# rpm -ivh /usr/src/redhat/RPMS/i386/postfix-2.3.3-2.i386.rpm切换mtaalternatives --config mta (选择2,postfix)rpm -e sendmailcd /usr/sbin/mv sendmail sendmail.baknewaliasesln -s sendmail.postfix sendmail安装完成后,修改postfix的主配置文件mail.cf ,先把原来的主配置文件移开,新建立一个,把现成的配置贴进去(其实里面的sasl认证机制我还不会,所以只能直接复制别人的然后作个简单的修改)。
# mv /etc/postfix/main.cf /etc/postfix/main.cf.bak# vi /etc/postfix/main.cf#=====================BASE=========================myhostname = mydomain = myorigin = $mydomainmydestination = $myhostname localhost localhost.$mydomainmynetworks = 127.0.0.1 192.168.10.0/24inet_interfaces = all#=====================Vritual Mailbox settings=================== virtual_minimum_uid = 88virtual_mailbox_base = /var/mailsvirtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cfvirtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf virtual_alias_domains =virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cfvirtual_uid_maps = static:510virtual_gid_maps = static:150virtual_transport = virtualmaildrop_destination_recipient_limit = 1maildrop_destination_concurrency_limit = 1#====================QUOTA========================message_size_limit = 52428800mailbox_size_limit = 209715200virtual_mailbox_limit = 209715200virtual_create_maildirsize = yesvirtual_mailbox_extended = yesvirtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_ maps.cfvirtual_mailbox_limit_override = yesvirtual_maildir_limit_message = Sorry, the user's maildir has overdrawn his disks pace quota, please try again later.virtual_overquota_bounce = yes#====================SASL========================broken_sasl_auth_clients = yessmtpd_recipient_restrictions =permit_mynetworks, permit_sasl_authenticate d, reject_invalid_hostname, reject_non_fqdn_hostname,reject_unknown_sender_domain, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_unauth_pipelining,reject_unauth_destination,permitsmtpd_sasl_auth_enable = yessmtpd_sasl_type = dovecotsmtpd_sasl_path = /var/run/dovecot/auth-clientsmtpd_sasl_local_domain = $myhostnamesmtpd_sasl_security_options = noanonymoussmtpd_sasl_application_name = smtpdsmtpd_banner=$myhostname ESMTP "Version not Available"readme_directory = nosample_directory = /etc/postfixsendmail_path = /usr/sbin/sendmailhtml_directory = nosetgid_group = postdropcommand_directory = /usr/sbinmanpage_directory = /usr/local/mandaemon_directory = /usr/libexec/postfixnewaliases_path = /usr/bin/newaliasesmailq_path = /usr/bin/mailqqueue_directory = /var/spool/postfixmail_owner = postfixDovecot 配置系统安装默认就装了Dovecot ,如果你的系统没装就自己yum 一个吧。
先移开原来dovecot 的配置文件# mv /etc/dovecot.conf /etc/dovecot.conf.bak再新建一个dovecot 配置文件# vi /etc/dovecot.confbase_dir=/var/run/dovecotprotocols=imap pop3listen=*disable_plaintext_auth = nossl_disable = yesmail_location = maildir:/var/mails/%d/%n/Maildirauth default {mechanisms = PLAIN LOGIN CRAM-MD5 DIGEST-MD5passdb sql {args = /etc/dovecot-mysql.conf}userdb sql {args = /etc/dovecot-mysql.conf}socket listen {client {path = /var/run/dovecot/auth-clientmode = 0660user = postfixgroup = postfix}}}first_valid_uid = 510新建一个与mysql关联的文件# vim /etc/dovecot-mysql.confdriver = mysqlconnect = host=/var/lib/mysql/mysql.sock dbname=extmail user=extmail password=e xtmaildefault_pass_scheme = MD5password_query = SELECT password FROM mailbox WHERE username = '%u' user_query = SELECT maildir, 510AS uid, 150 AS gid FROM mailbox WHERE user name = '%u'设置dovecot 开机自动启动# chkconfig dovecot on启动 dovecot# service dovecot start建立邮箱目录mkdir /var/mails/有时候需要建立/postmaster(安装完成登录extmail,邮箱目录下没有时)配置extmail 和 extman解压下载extmail 和extman 包,然后移动到 /var/www/html 中# tar -zxvf extmail-1\[1\]\[1\].1.0.tar.gz# tar -zxvf extman-1\[1\]\[1\].0.0.tar.gz# mv extmail-1.1.0 /var/www/html/extmail# mv extman-1.0.0 /var/www/html/extman修改相应的权限# chown -R postfix:postfix /var/www/html/extmail/cgi# chown -R postfix:postfix /var/www/html/extman/cgi# mkdir -p /var/www/html/extman/sessions/# chown postfix:postfix /var/www/html/extman/sessions/配置apachevi /etc/httpd/conf/httpd.conf#运行cgi模块的配置添加如下配置:ScriptAlias /extmail/cgi/ /var/www/html/extmail/cgi/Alias /extmail /var/www/html/extmail/html/ScriptAlias /extman/cgi/ /var/www/html/extman/cgi/Alias /extman /var/www/html/extman/html/或者虚拟主机<VirtualHost *:80>ServerName DocumentRoot /var/www/html/extmail/html/SuexecUserGroup postfix postfixScriptAlias /extmail/cgi /var/www/html/extmail/cgiScriptAlias /extman/cgi /var/www/html/extman/cgiAlias /extmail /var/www/html/extmail/htmlAlias /extman /var/www/html/extman/html</VirtualHost><Directory "/var/www/html/extmail">Options Indexes FollowSymLinksAllowOverride NoneOrder allow,denyAllow from all</Directory><Directory "/var/www/html/extman">Options Indexes FollowSymLinksAllowOverride NoneOrder allow,denyAllow from all</Directory>配置extman导入extman数据库脚本和初始化数据# mysql –u root -p < /var/www/html/extman/docs/extmail.sql# mysql –u root -p < /var/www/html/extman/docs/init.sql# vi /var/www/html/extman/webman.cfSYS_CONFIG = /var/www/html/extman/SYS_LANGDIR = /var/www/html/extman/langSYS_TEMPLDIR = /var/www/html/extman/htmlSYS_MAILDIR_BASE = /var/mails#-------------------------------------------# session保存路径/var/www/html/extman/sessions/,需要手工建立session目录,并赋予postfix用户,即apache运行用户#-----------------------------------------SYS_SESS_DIR = /var/www/html/extman/sessions/# 登入页面验证码关闭,1表示开启SYS_CAPTCHA_ON = 0# 语言,中文啦# SYS_LANG = zh_CNSYS_MIN_UID = 1000SYS_MIN_GID = 1000# 虚拟用户需要系统真实映射用户的UID和GIDSYS_DEFAULT_UID = 510SYS_DEFAULT_GID = 150# MYSQL数据库相关的配置SYS_MYSQL_USER = webmanSYS_MYSQL_PASS = webmanSYS_MYSQL_DB = extmailSYS_MYSQL_HOST = localhostSYS_MYSQL_SOCKET = /var/lib/mysql/mysql.sock# table nameSYS_MYSQL_TABLE = managerSYS_MYSQL_ATTR_USERNAME = usernameSYS_MYSQL_ATTR_PASSWD = password其他的默认啊就可以。