linux下架设邮箱 MUA篇[RoundCubeWebmail]
- 格式:docx
- 大小:46.89 KB
- 文档页数:18
第9章E-mail服务器的配置与应用--------------------------------RPM安装方式--------------------------------下面是使用RPM包安装的具体步骤。
第1步,检测系统是否安装了该RPM包,使用命令rpm –qa | grep Sendmail。
第2步,如果没安装,则将Red Hat Enterprise Linux的安装光盘放入光驱并挂载,并安装相应的软件包。
第3步,安装生成Sendmail配置文件的m4工具包,使用命令:[root@localhost /]#rpm –ivh mc-4.6.1-0.8.1.i386然后退到“/”目录,将光盘卸载,取出光盘。
第4步,将Red Hat Enterprise Linux的光盘放入光驱并挂载,并安装相应的软件包。
--------------------------------启动Sendmail服务器--------------------------------安装好该软件后,首先使用命令来确认Sendmail是否已经启动:[root@localhost /]#pstree | grep sendmail上图的命令行显示了Sendmail服务已经启动,如果没启动,将没有任何提示回到命令行。
如果没启动,可以用以下命令启动。
[root@localhost /]#service sendmail start--------------------------------Sendmail的发送邮件功能--------------------------------Sendmail默认只会为本机用户发送邮件,并非一个真正的邮件服务器。
怎么让Sendmail将注意力扩展到整个Internet(最小也是局域网中),具体的操作步骤如下。
第1步,打开Sendmail的配置宏文件/etc/mail/sendmail.mc。
linux下搭建邮件效劳器默认分类2021-11-16 18:51:54 阅读42 评论0 字号:大中小订阅一、Sendmail概述sendmail是最重要的邮件传输代理程序。
理解电子邮件的工作模式是非常重要的。
一般情况下,我们把电子邮件程序分解成用户代理,传输代理和投递代理。
用户代理用来接受用户的指令,将用户的信件传送至信件传输代理,如:outlook express、foxmail等。
而投递代理那么从信件传输代理取得信件传送至最终用户的邮箱,如:procmail。
当用户试图发送一封电子邮件的时候,他并不能直接将信件发送到对方的机器上,用户代理必须试图去寻找一个信件传输代理,把邮件提交给它。
信件传输代理得到了邮件后,首先将它保存在自身的缓冲队列中,然后,根据邮件的目标地址,信件传输代理程序将找到应该对这个目标地址负责的邮件传输代理效劳器,并且通过网络将邮件传送给它。
对方的效劳器接收到邮件之后,将其缓冲存储在本地,直到电子邮件的接收者观察自己的电子信箱。
显然,邮件传输是从效劳器到效劳器的,而且每个用户必须拥有效劳器上存储信息的空间〔称为信箱〕才能接受邮件〔发送邮件不受这个限制〕。
可以看到,一个邮件传输代理的主要工作是监视用户代理的请求,根据电子邮件的目标地址找出对应的邮件效劳器,将信件在效劳器之间传输并且将接收到的邮件缓冲或者提交给最终投递程序。
有许多的程序可以作为信件传输代理,但是sendmail是其中最重要的一个,事实证明它可以支持数千甚至更多的用户,而且占用的系统资源相当少。
不过,sendmail的配置十分复杂,因此,也有人使用另外的一些工具,如qmail、postfix等等。
当sendmail程序得到一封待发送的邮件的时候,它需要根据目标地址确定将信件投递给对应的效劳器,这是通过DNS效劳实现的。
例如一封邮件的目标地址是tom@example ,那么sendmail首先确定这个地址是用户名〔tom〕+机器名〔example 〕的格式,然后,通过查询DNS来确定需要把信件投递给某个效劳器。
RoundcubEmail在Hmail上的配置Roundcubemail是开源的web邮件服务器web客户端。
支持Windows和Linux操作系统,插件很多,我最喜欢他的原因是:支持用户自己更改密码。
费话不说了,下面讲解Roundcubemail在Hmail 上的配置。
假定你配置完了Hmail了,当然Apacle,Php和Mysql你也一定配置完了,不然Hmail无法工作的。
一,解压Roundcubemail到Apacle运行Php的目录。
我的是在D:\Program Files\wamp\www目录,我用的是Wamp的集成环境,几个下一步Apacle,Php和Mysql就都安装好了,剩下的简单改改就行。
二,把D:\Program Files\wamp\www\roundcubemail\config路径下的db.inc.php.dist文件和main.inc.php.dist文件后面的dist去掉,三,修改db.inc.php文件,用写字板打开,找到如下两行:$rcmail_config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcubemail';Roundcube添你数据库的用户名,我添的就是Root,也可以不用Root,建一个roundcube用户,赋予管理员权限。
Pass添密码Roundcubemail添数据库名,这里添的数据库名要和后面建立的数据库名一致.我添的是:roundcube.四,修改mail.ini.php文件,$rcmail_config['default_host'] = '';修改为:$rcmail_config['default_host'] = '127.0.0.1';----------------------------------------------------------------------------------- $rcmail_config['smtp_server'] = '';修改为:$rcmail_config['smtp_server'] = '127.0.0.1';----------------------------------------------------------------------------------- $rcmail_config['smtp_user'] = '';修改为:$rcmail_config['smtp_user'] = '%u'----------------------------------------------------------------------------------- $rcmail_config['smtp_pass'] = '';修改为:$rcmail_config['smtp_pass'] = '%p';-----------------------------------------------------------------------------------注:我觉得127.0.0.1应该写成本机的实际ip,由于实验,无所谓了.读者自己实施的时候注意啊.五,添加插件.Roundcube有很多插件的,都很实用.找到$rcmail_config['plugins'] =修改为:$rcmail_config['plugins'] = array('password','acl', 'additional_message_headers', 'archive','autologon','database_attachments','debug_logger','emoticons','enigma','example_add ressbook','filesystem_attachments','help','http_authentication','jqueryui','manages ieve','markasjunk','new_user_dialog','new_user_identity','newmail_notifier','redund ant_attachments','show_additional_headers','squirrelmail_usercopy','subscriptions_o ption','userinfo','vcard_attachments','virtuser_file','virtuser_query');注意:不要换行,是一行.如果你只是想添加一个插件,以修改密码的插件--password举例,就写成:$rcmail_config['plugins'] = passwordPlugins是插件的父文件夹,路径是roundcubemail\plugins,这里指定插件文件夹名password就好了.六,不用输入@域名登陆,邮箱登陆需要输入用户名+@+域名,我们设置后省略@后面的域名,直接输入用户名.多域也能设置,我用不上,所以没实验.找到:$rcmail_config['default_host'] = ''改成:$rcmail_config['default_host'] = ''注:是你的域名.七,导入Mysql数据库,1,先新建一个数据库,起名称为:roundcube.我用phpmyadmin建立的库,phpmyadmin是wamp安装后就能用的web管理Mysql的php程序.2,导入数据库文件,路径是:roundcubemail\SQL\mysql.initial.sql 导入键在哪?下图红圈里,看不见我没办法.导入成功后Roundcule就配置好了,进去看看吧.网址:http://localhost/roundcubemail/点”设置”,有个”密码”选项,能改密码,我最需要的.八,配置中发生的一些问题.1,用localhost能访问roundcube,用ip却不能访问.是Apache的问题,用写字板打开httd.conf,找到:Deny from,在后面加上all就ok了.2,phpmyadmin上传大于2M数据的修改, 用写字板打开php.ini,找到: upload_max_filesize = 2M,把2修改成你想要的值. 重启wamp所有服务.3, mysql修改密码后phpmyadmin无法登陆.找到config.inc.php,路径为:wamp\apps\phpmyadmin.$cfg['Servers'][$i]['auth_type'] = '';修改为:$cfg['Servers'][$i]['auth_type'] = 'http';重启wamp所有服务.注:如果你用IE登陆请清除缓存或换浏览器.否则报错你会迷惑的.。
webmailRound cubemail搭建/u2/73230/show ... _Roundcube RoundCube Web Mail是一个基于浏览器,支持多国语言的IMAP客户端,操作界面看起像一个桌面应用程序。
它提供一个e-mail客户端应该具备的所有功能包括MIME支持,地址薄,文件夹操作,信息搜索和拼写检查。
RoundCube Webmail采用PHP+Ajax开发并且需要MySQL数据库来存储数据。
用户界面采用XHTML+CSS2设计. 安装、配置Roundcube* 从Roundcubemail 的官方主页下载最新版本:注:刚把0.2的配置出来,就发现这两天刚出了0.2.1版。
不过方法都一样的。
/downloads* 下载后解压缩并设置正确的权限:Shell 命令:# tar zxvf roundcubemail-0.2.tar.gz # mv roundcubemail-0.2 /var/www/roundcubemail # chown -R root:root /var/www/roundcubemail/ # chown -R www-data:www-data /var/www/roundcubemail/{temp,logs} # chmod 777 /var/www/roundcubemail/{temp,logs} # chmod 0000 /var/www/roundcubemail-0.1/{CHANGELOG,INSTALL,LICENSE,README,UPGRADING,installer}### 0000让其没有任何权限,可以不设置* 导入Roundcubemail 的数据库:Shell 命令:# mysql -uroot -p# 创建数据库:roundcubemail mysql> CREATE DATABASE roundcubemail DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;# 将数据库的权限给MySQL 的本地用户:roundcube。
webmail_Roundcubemail_搭建/u2/73230/show ... _Roundcube RoundCube Web Mail是一个基于浏览器,支持多国语言的IMAP客户端,操作界面看起像一个桌面应用程序。
它提供一个e-mail客户端应该具备的所有功能包括MIME支持,地址薄,文件夹操作,信息搜索和拼写检查。
RoundCube Webmail采用PHP+Ajax开发并且需要MySQL数据库来存储数据。
用户界面采用XHTML+CSS2设计. 安装、配置Roundcube* 从Roundcubemail 的官方主页下载最新版本:注:刚把0.2的配置出来,就发现这两天刚出了0.2.1版。
不过方法都一样的。
/downloads* 下载后解压缩并设置正确的权限:Shell 命令:# tar zxvf roundcubemail-0.2.tar.gz # mv roundcubemail-0.2 /var/www/roundcubemail # chown -R root:root /var/www/roundcubemail/ # chown -R www-data:www-data /var/www/roundcubemail/{temp,logs} # chmod 777 /var/www/roundcubemail/{temp,logs} # chmod 0000 /var/www/roundcubemail-0.1/{CHANGELOG,INSTALL,LICENSE,README,UPGRADING,installer}### 0000让其没有任何权限,可以不设置* 导入Roundcubemail 的数据库:Shell 命令:# mysql -uroot -p# 创建数据库:roundcubemail mysql> CREATE DATABASE roundcubemail DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;# 将数据库的权限给MySQL 的本地用户:roundcube。
A、邮件使用的协议1.SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。
通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。
SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。
使用端口(port)25。
2.POP3(Post Office Protocol 3)即邮局协议(Post Office Protocol)的第3个版本,它是规定个人计算机如何连接到互联网上的邮件服务器进行收发邮件的协议。
它是因特网电子邮件的第一个离线协议标准,POP3协议允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时根据客户端的操作删除或保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。
POP3协议是TCP/IP协议族中的一员,由RFC1939定义。
本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。
使用端口(port)110。
3.IMAP(Internet Mail Access Protocol)即交互式邮件存取协议,IMAP是斯坦福大学在1986年开发的研发的一种邮件获取协议。
它的主要作用是邮件客户端(例如MS Outlook Express)可以通过这种协议从邮件服务器上获取邮件的信息,下载邮件等。
当前的权威定义是RFC3501。
它与POP3协议的主要区别是用户可以不用把所有的邮件全部下载,可以通过客户端直接对服务器上的邮件进行操作。
使用端口(port)143。
4.SASL(Simple Authentication and Security Layer)即简单认证安全层,是一种用来扩充C/S模式验证能力的机制。
RoundcubeWebmail多域及插件配置篇 之前写了关于Roundcube Webmail的安装和配置,不过是针对单域的,其实多域的话很简单,无非是配置文件里设置的问题,插件也一样,必须在配置文件里配置,否则无法使用。
因为有了插件,Roundcube的功能会丰富很多,基本上你能想到的都有插件可以用,所以这个Webmail还是很给力了,况且还是免费开源的。
进入正题,先说说多域的事情: 请先确认您的HmailServer里,已经把另一个域的相关配置搞定了[参见这里:hMailServer配置],然后再开始下面的内容,打开Roundcube Webmail的主配置文件,在config目录下,main.inc.php就是这个文件,安全起见,请先备份一个。
查找:查看代码打印?1$rcmail_config['default_host'] =修改成:查看代码打印?1$rcmail_config['default_host'] = array(2 ''=> '@',3 ''=> '@'); 说明一下,是安装Roundcube Webmail时配置的那个默认域,是你的第二个域,如果是单域是不需要这个array的,直接就是单行的参数,如下:查看代码打印?1$rcmail_config['default_host'] = ''; 使用这个array,为的是登录时,登录页面会显示一个下拉列表框,让用户选择使用那个域的邮箱来登录Webmail,用户只需要输入用户名,即邮件地址@前面的部分,Roundcube会自动根据用户选择域下拉列表里的域去补全这个登录参数。
算是提升用户体验吧,是否需要这个看你需求,否则就输入整个邮件地址作为帐号。
继续查找:查看代码打印?1$rcmail_config['username_domain'] =修改成:查看代码打印?1$rcmail_config['username_domain'] = array(2 ''=> '',3 ''=> ''); 修改这个的目的,是在登录Webmail时,Roundcube会根据配置自动和hMailServer通讯,判断用户是那个域的,然后来验证用户完成登录。
Linux 5.x平台搭建extmail邮件服务器作者:洪卓辉文档编辑于2011年8月Linux5.x平台搭建extmail邮件服务器二操作系统安装1RedHat系统所需组件:本文档支持RedHat Enterprise-5.x及CentOS-5.x版本。
要注意的是安装系统时,只安装如下的组件:MYSQL数据库:注意必须选中php-mysql模块,否则extmail将无法连接mysqlVIM编辑器:建议安装vim软件包,它支持main.cf彩色高亮语法分析。
其余的Xwindows,打印,KDE/Gnore,服务器配置工具,网络工具,开发包等都不是必选组件。
安装完毕进入操作系统后,为增加系统安全性,建议禁止root直接登陆,并增加一个非root 帐户,例如sysadmin。
这样无法以root账户直接登陆系统,必须先以sysadmin身份登陆再su到root执行。
2安装操作系统的时候把mysql数据库的php-mysql-5*这个包安装了!必须的!并且设置关闭防火墙和SELinux3配置SSH:以root身份登进系统后,增加一个非root帐户,名称为sysadmin,密码按您的需求设置一个即可。
接下来我们要禁止root直接登陆。
shell#vim/etc/ssh/sshd_config修改以下配置为:PermitRootLogin no然后重新启动sshd,这样禁止了root直接登陆。
shell#service sshd restart三创建yum源1下载EMOS软件包整个系统的安装全过程都要求以root身份执行,如果机器没有访问外部网络的能力,则事先下载好EMOS光盘映像,并上传到服务器。
备注:如果要在CentOS 5.x上面进行配置,请下载EMOS-1.5.ISO,配置方法不变;2制作本地yum仓库使用EMOS-1.5.ISO光盘制作本地yum仓库;此外,我们假设本次安装默认域是,主机名为:安装CentOS-5.3光盘中createrepo工具shell#rpm-ivh createrepo-0.4.11-3.el5.noarch.rpm加载EMOS-1.5的光盘,请把emos的光盘放到光驱中shell#mkdir/mnt/EMOS#mount/dev/cdrom/mnt/EMOS#cd/mnt#createrepo.3、创建客户端yum的定义文件:shell#cd/etc/yum.repos.d#mkdir backup#mv*.repo./backup#vi EMOS.repo加入以下内容:[EMOS]name=EMOSbaseurl=file:///mnt/enabled=1gpgcheck=0重新获取最新的仓库信息:shell#yum clean all#yum list四配置MTA-postfix1、安装postfix安装postfixshell#yum install postfix#rpm-e sendmail2、配置postfixshell#postconf-n>/etc/postfix/main2.cf#mv/etc/postfix/main.cf/etc/postfix/main.cf.old #mv/etc/postfix/main2.cf/etc/postfix/main.cf编辑main.cf:shell#vi/etc/postfix/main.cf增加如下内容:#hostnamemynetworks=127.0.0.1myhostname= mydestination=$mynetworks$myhostname#bannermail_name=Postfix-by smtpd_banner=$myhostname ESMTP$mail_name#response immediatelysmtpd_error_sleep_time=0s#Message and return code controlmessage_size_limit=5242880mailbox_size_limit=5242880show_user_unknown_table_name=no#Queue lifetime controlbounce_queue_lifetime=1dmaximal_queue_lifetime=1d设置postfix开机自启:shell#chkconfig postfix on五配置courier-authlib1、安装Courier-Authlib安装以下软件包:shell#yum install courier-authlib#yum install courier-authlib-mysql编辑/etc/authlib/authmysqlrc文件:shell#vim/etc/authlib/authmysqlrc并将其内容清空(dG),然后增加如下内容:MYSQL_SERVER localhostMYSQL_USERNAME extmailMYSQL_PASSWORD extmailMYSQL_SOCKET/var/lib/mysql/mysql.sock MYSQL_PORT3306MYSQL_OPT0MYSQL_DATABASE extmailMYSQL_USER_TABLE mailboxMYSQL_CRYPT_PWFIELD passwordMYSQL_UID_FIELD uidnumberMYSQL_GID_FIELD gidnumberMYSQL_LOGIN_FIELD usernameMYSQL_HOME_FIELD homedirMYSQL_NAME_FIELD nameMYSQL_MAILDIR_FIELD maildirMYSQL_QUOTA_FIELD quotaMYSQL_SELECT_CLAUSE SELECTusername,password,"",uidnumber,gidnumber,\ CONCAT('/home/domains/',homedir),\CONCAT('/home/domains/',maildir),\quota,\name\FROM mailbox\WHERE username='$(local_part)@$(domain)'注意:此处添加之后,要把文件内容对齐,否则数据库导入导出可能出错!修改authdaemonrc文件shell#vi/etc/authlib/authdaemonrc修改如下内容:authmodulelist="authmysql"authmodulelistorig="authmysql"2、启动courier-authlib:shell#service courier-authlib start如一切正常,命令行将返回如下信息:Starting Courier authentication services:authdaemond修改authdaemon socket目录权限如果该目录权限不正确修改,maildrop及postfix等将无法正确获取用户的信息及密码认证:shell#chmod755/var/spool/authdaemon/六配置maildrop1、安装maildropshell#yum install maildrop配置master.cf为了使Postfix支持Maildrop,必须修改/etc/postfix/master.cf文件,注释掉原来的maildrop的配置内容,并改为:maildrop unix-n n--pipeflags=DRhu user=vuser argv=maildrop-w90-d ${user}@${nexthop}${recipient}${user}${extension} {nexthop}注意:flags前面有“两个空格”配置main.cf由于maildrop不支持一次接收多个收件人,因此必须在main.cf里增加如下参数:maildrop_destination_recipient_limit=12、测试maildrop对authlib支持shell#maildrop-v看是否出现以下内容:maildrop2.1.0Copyright1998-2005Double Precision,Inc. GDBM/DB extensions enabled.Courier Authentication Library extension enabled.Maildir quota extension enabled.This program is distributed under the terms of the GNU GeneralPublicLicense.See COPYING for additional information.注意事项:1、如需重新编译Maildrop软件包,必须先获得其源码rpm包,并且必须先行安装courier-authlib及其devel软件包,否则编译后的maildrop将无法打开authlib支持。
linux邮件服务器搭建笔记1. 邮件服务器基本原理MUA:邮件用户代理,供用户写信、读信、寄信MTA:邮件传输代理,接收、递送邮件MDA:邮件投递代理,投递本地邮件到适当的邮箱SMTP:简单邮件传输协议,寄信协议POP3:邮局协议第3版,用户把邮件从服务器上剪切回来,收信协议IMAP4:因特网消息访问协议第4版,用户把邮件从服务器上复制回来,收信协议邮箱:存放邮件的地方邮件:email收件人:邮件的接收者邮件别名:一个邮箱的其他名字,一个邮箱可以有多个名字邮件列表:群发功能邮件转发:发到user@/doc/435868624.html,的邮件转到boos@/doc/435868624.html,-------------------------------------------------------------------------------------------------------------------2. Postfix简介2.1 Postfix是MTA高性能、安全、兼容性2.2 安装2.2.1 准备工作邮件服务器要有合法的计算机名,如:/doc/435868624.html,,并需要到DNS服务器上进行域名注册,才能正常启动DNS配置参见DNS配置在/doc/435868624.html,区域文件中进行A记录和MX记录的设置/doc/435868624.html,. IN MX 5 /doc/435868624.html,./doc/435868624.html,. IN A 192.168.1.1112.2.2 安装postfixrpm -ivh postfix-2.3.3-2.i386.rpm2.3 目录/etc/postfix/ Postfix配置文件目录/var/spool/mail 用户电子邮箱放置目录/var/spool/postfix 邮件队列目录/var/log/maillog Postfix日志文件----------------------------------------------------------------------------------------------------------------------2.4 配置1.主配置文件/etc/postfix/mail.cf主配置文件修改后用 postfix reload命令重新载入主配置文件2.邮件别名配置文件/etc/aliases/etc/aliases.db邮件别名配置文件修改后用postalias hash:/etc/aliases命令生成aliases.db数据库文件-----------------------------------------------------------------------------------------------------------------2.5 主配置文件分析queue_directory = /var/spool/postfix 队列目录command_directory = /usr/sbin 程序目录daemon_directory = /usr/libexec/postfix 后台程序目录mail_owner = postfix 进程运行所有者myhostname = /doc/435868624.html, 邮件主机名称mydomain = /doc/435868624.html, 邮件主机域名myorigin = $mydomain 设置发送邮件所使用的主机名或域名inet_interfaces = all 监听端口mydestination = $myhostname, $mydomain 可以接受邮件的主机名或域名mynetworks = 192.168.1.0/24, 127.0.0.0/8 设置可以转发邮件的网络relay_domains = $mydestination 设置可以转发的邮件域名alias_maps = hash:/etc/aliases 指定用户别名定义的文件路径alias_database = hash:/etc/aliases 指定别名表数据库文件路径2.6 postfix收发信依据2.6.1 postfix帮助client发送信件:当客户端来自信任的网络,符合 $mynetworks 的设定时当客户端来自信任的主机,符合 $relay_domains的设定项目时当客户端来自不信任的网域,但是去的目的地主机符合$relay_domains设定时2.6.2 什么情况下,postfix会将信件收下来收件人主机名符合 $inet_interfaces 的设定收件者主机名符合 $mydestination 的设定收件人主机名符合 $virtual_maps 的设定-------------------------------------------------------------------------------------------------------------2.7 测试main.cf文件2.7.1 显示main.cf里面设定的数据指令# postconf -n2.7.2 检查main.cf语法错误# postfix check若没有提示,则配置正确2.8 启动、停止、重启postfix服务# service postfix start/stop/restart# /etc/init.d/postfix start/stop/restart开机自动启动# chkconfig postfix on2.9 检测邮件服务是否启动成功# netstat -tl | grep smtptcp 0 0 *:smtp *:* LISTEN---------------------------------------------------------------------------------------------------------------------------2.10 命令行收发邮件测试发邮件:[root@mail ~]# telnet /doc/435868624.html, 25 //链接服务器25号端口Trying 192.168.1.111...Connected to /doc/435868624.html, (192.168.1.111).Escape character is '^]'.220 /doc/435868624.html, ESMTP Postfix //返回220表示连接成功* helo /doc/435868624.html, //通过helo介绍自己250 /doc/435868624.html, //返回250表示成功* mail from:user@/doc/435868624.html, //mail from:发件人地址250 Ok* rcpt to:root@/doc/435868624.html, //rcpt to:收件人地址250 Ok* data //data:开始输入邮件正文354 End data with .<l</lF>helo root //邮件正文部分helo roothelo root* . //以"."表示正文结束250 Ok: queued as 511DAA63DE* quit //quit:退出221 ByeConnection closed by foreign host.收邮件: # mail------------------------------------------------------------------------------------------------------------------3.2 设置邮件别名和邮件群发功能3.2.2 确保postfix主配置文件里有这两句:alias_maps = hash:/etc/aliasesalias_database = hash:/etc/aliases3.2.1 修改/etc/aliases文件admin: root //发给admin@/doc/435868624.html,的信,实际是发给root@/doc/435868624.html, group: user1,user2 //发给group@/doc/435868624.html,的信,实际是发给user1@/doc/435868624.html,和user2@/doc/435868624.html,user1:root@/doc/435868624.html, //发给user1@/doc/435868624.html,的信,实际转发给root@/doc/435868624.html,3.2.2 生成aliases.db数据库# postalias hash:/etc/aliases3.2.3 验证1.给admin@/doc/435868624.html,发一封信,root应该收到信# echo "hello world" | mail admin@/doc/435868624.html,root用户使用mail命令收邮件2.给group@/doc/435868624.html,发一封信,user2应该收到信# echo "hello world" | mail group@/doc/435868624.html,使用mail命令,以user2的身份去收信# mail -u user23.给user1@/doc/435868624.html,发一封信,root用户应该收到信# echo "hello world" | mail user1@/doc/435868624.html,以user1身份收信没有收到# mail -u user1以root用户收信应该收到# mail-------------------------------------------------------------------------------------------------------------------4.POP和IMAP的实现,dovecot可以实现POP和IMAP服务器功能4.1 安装# rpm -ivh dovecot-1.0.7-2.el5.i386.rpm \>perl-DBI-1.52-1.fc6.i386.rpm \>mysql-5.0.45-7.el5.i386.rpm4.2 配置# vim /etc/dovecot.confprotocols = imap imaps pop3 pop3s4.3 启动# service dovecot start# chkconfig --level 35 dovecot on4.4 验证是否启动# netstat -tl |grep imaptcp 0 0 *:imaps *:* LISTENtcp 0 0 *:imap *:* LISTEN# netstat -tl |grep poptcp 0 0 *:pop3s *:* LISTENtcp 0 0 *:pop3 *:* LISTEN测试:在客户端使用Outlook客户端收发邮件-----------------------------------------------------------------------------------------------------------------------5. 安装配置Webmail5.1 安装apache服务rpm -ihv httpd-2.2.3-11.el5_1.3.i386.rpm5.2 安装Webmail和相关软件包squirrelmail-1.4.8-4.0.1.el5.noarch.rpmphp-5.1.6-20.el5.i386.rpmphp-cli-5.1.6-20.el5.i386.rpmphp-common-5.1.6-20.el5.i386.rpmphp-mbstring-5.1.6-20.el5.i386.rpm5.3 配置Squirrelmail# /usr/share/squirrelmail/config/conf.pl在server setting 里把domain 设为/doc/435868624.html,在 language 里把 default language 设为 zh_CN5.4 启动相关服务# service httpd start# service postfix restart# service dovecot restart5.5 访问Webmail的界面/doc/435868624.html,/webmail。
A、sendmail.mc配置批注vi /etc/mail/sendmail.mcdivert(-1)dnl在生成配置文件时删除额外的输出。
dnl #dnl # This is the sendmail macro config file for m4. If you make changes todnl # /etc/mail/sendmail.mc, you will need to regenerate thednl # /etc/mail/sendmail.cf file by confirming that the sendmail-cf package isdnl # installed and then performing adnl #dnl # make -C /etc/maildnl #这是m4的sendmail宏观设置文件。
如果您做变动/etc/mail/sendmail.mc,您将需要通过认证安装的sendmail-cf包执行make -C /etc/mail命名生成/etc/mail/sendmail.cf文件。
include(`/usr/share/sendmail-cf/m4/cf.m4')dnl将sendmail所需的规则包含进来。
VERSIONID(`setup for linux')dnl指出配置文件是针对linuxOSTYPE(`linux')dnl必须设置为linux以获得sendmail所需文件的正确位置。
dnl #dnl # Do not advertize sendmail version.dnl #dnl define(`confSMTP_LOGIN_MSG', `$j Sendmail; $b')dnldnl #dnl # default logging level is 9, you might want to set it higher todnl # debug the configurationdnl #默认的日志记录级别为9,您可能希望将其设置较高级别,则调整这个配置dnl define(`confLOG_LEVEL', `9')dnldnl #dnl # Uncomment and edit the following line if your outgoing mail needs todnl # be sent out through an external mail server:dnl #如果你需要通过外部邮件服务器发送的邮件的,取消注释和编辑以下行。
sendmailMUA (mail user agent 邮件用户代理),用于用户端发送邮件或者阅读邮件 linux有mutt这个工具MTA (mail tranfer agent 邮件传输代理),相当于一个邮局,server端的软件,主要的功能有,接收MUA发来的邮件和把邮件发送给下一个MTA,可以说是一个邮件路由(mail router),server端的软件就属于MTA,现在开源的有sendmail,postfix,qmail等MDA (mail devilery agent 邮件投递代理),主要是将MTA所接受的邮件,依照邮件的目的地将此邮件放到本机账号下或者是给下一个MTA,一般就是指mail 这样的命令邮件的协议:发信: SMTP (simple mail tranfer protocol 简单邮件传输协议)端口号TCP的25端口,在发信时,MUA会主动连接MTA的port 25,然后经由SMTP协议发送出去,SMTP分为接受SMTP和发送SMTP,它不管两端主机的配置或者系统等,只要两边SMTP协议OK就可以发送邮件收信: POP (post office protocol 邮局协议),来连接到MTA,以读取或者下载邮件,现在常用的版本是POP3,端口为110IMAP (internet message access protocol 网络报文件协议),能在下载邮件前先下载邮件头信息,以可以让用户选择性下载端口 143软件包yum install sendmail*yum install dovecotsendmail.i386 --邮件服务器端 MTA sendmail-cf.i386 --配置文件包sendmail-devel.i386 --开发包sendmail-doc.i386 --文档包dovecot.i386 --(鸽舍),pop邮件服务端 MDAm4.i386 --处理配置文件的包端口: smtp (25) pop3 (110) imap (143)协议: TCP服务启动脚本:/etc/init.d/sendmail/etc/init.d/dovecot配置文件:/etc/mail/sendmail.cf --sendmail邮件服务启动时读取的主配置文件/etc/mail/sendmail.mc --管理员修改sendmail服务器功能时的配置文件/etc/mail/local-host-names --配置支持发送邮件时使用短域名形式/etc/mail/virtusertable --虚拟用户列表/etc/aliases --用户别名/etc/mail/access --邮件中继/etc/init.d/sendmail restart[root@li ~]# netstat -ntl |grep 25 --看到默认是只监听了127.0.0.1的回环地址tcp 0 0127.0.0.1:25 0.0.0.0:* LISTEN--发送邮件方法一:[root@li ~]# mail -s "mail" root@ --用此命令发送邮件 -s 后接邮件主题1111 --写邮件内容. --“." 点号表示结束Cc: --直接回车退出[root@li ~]# mail -s 'yyyy' a@ < /etc/grub.conf --还可以这样把/etc/grub.conf的内容直接发送给a用户--查看邮件方法一:cat /var/mail/rootcat /var/spool/mail/root --查看这两个一样的这样是可以查看到刚才发送的邮件,因为一个是自己发送给自己用的127.0.0.1这个回环地址,这种情况不需要DNS的MX支持--发送邮件方法二:[root@li ~]# telnet 127.0.0.1 25 --对smtp协议进行验证Trying 127.0.0.1...Connected to localhost.localdomain (127.0.0.1).Escape character is '^]'.220 ESMTP Sendmail 8.13.8/8.13.8; Sat, 29 May 2010 11:30:09 +0800helo --定义来访者,可以用help去查看支持哪些命令集,用help+命令来看单个命令如何使用250 Hello localhost.localdomain [127.0.0.1], pleased tomeet youmail from:aa@ --定义一个发送者,这里可以随便定义250 2.1.0 aa@... Sender okrcpt to:a@ --定义接收者,这里是我本机的a用户250 2.1.5 a@... Recipient okdata --表示下面要写邮件内容354 Enter mail, end with "." on a line by itself4444444444 --随便写上你要发送的邮件的内容. --"." 点号表示结束250 2.0.0 o4T3U9l1026581 Message accepted for deliveryquit --quit退出,有时候一次退不出,就多敲几次quit221 2.0.0 closing connectionConnection closed by foreign host.yum install muttmutt --是一个在unix-like系统下小巧但强大的基于文本的一个能发送和阅读邮件的工具(MUA)--查看邮件方法二:直接在root用户下使用mutt命令,可以看到root用户的收信箱如果要看普通的邮件,就要先su - 普通用户名切换到普通用户再使用mutt命令查看--发送邮件方法三:[root@li ~]# mutt a@ --可以直接使用这样的命令发送给a@,会提示用户写内容,还有附件等功能--发送邮件方法四:[root@li ~]# cat /etc/rc.local |sendmail -v a@-------------------------下面先把DNS的MX记录给配置好[root@li mail]# vim/var/named/chroot/var/named/data/.zone$TTL 86400@ IN SOA . . ( 2010051605606036086400)IN NS .IN MX 0 . --MX是邮件交换记录,0是代表优先级别,可以写多个,数字越小优先级越高li IN A 10.1.1.35pop IN A 10.1.1.35smtp IN A 10.1.1.35/etc/init.d/named reloadvim /etc/resolv.conf --DNS指向改为本机[root@li mail]# nslookup --验证MX记录的方法> set type=mx> Server: 10.1.1.35Address: 10.1.1.35#53 mail exchanger = 0 . --看到这样的信息表示成功最好把时间同步也配好[root@li mail]# echo 'while :; do ntpdate 10.1.1.1> /dev/null 2>/dev/null; sleep 10; done'>> /etc/rc.local--每十秒同步一次10.1.1.1,放到/etc/rc.local里,开机自动运行把邮件客户端软件claws-mail拷过去装好ls /share/soft/soft/mail_client/tar xvf /share/soft/soft/mail_client/claws-mail-3.5.0.tar.gz -C/usr/src/tar xvf /share/soft/soft/mail_client/libetpan-0.57.tar.gz -C /usr/src/ cd /usr/src/libetpan-0.57/./configure ;make ;make installcd /usr/src/claws-mail-3.5.0/./configure ;make ;make install例一:让smtp协议监听所有端口vim /etc/mail/sendmail.mcDAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl --把127.0.0.1改为0.0.0.0,或者是把中间那一小段去掉保存退出m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf --如果没有装m4.i386这个包,就需要使用m4命令去生成sendmail.cf配置文件,装了就不需要,重启sendmail服务自动生成/etc/init.d/sendmail restart[root@li claws-mail-3.5.0]# netstat -ntl|grep 25tcp 0 00.0.0.0:25 0.0.0.0:* LISTEN[root@li claws-mail-3.5.0]# telnet 10.1.1.35 25 --对本机的IP(非回环地址)做smtp协议的测试是可以做的,如果只监听127.0.0.1,就不能这样用IP测试Trying 10.1.1.35...Connected to (10.1.1.35).Escape character is '^]'.220 ESMTP Sendmail 8.13.8/8.13.8; Sat, 29 May 2010 13:47:01 +0800helo 250 .................例二:用claws-mail收发邮件用claws-mail 发送一封邮件给本机用户,能写,但点收信时会报连接到:110失败原因检验:[root@li /]# nslookup --先查看DNS,能解析Server: 10.1.1.35Address: 10.1.1.35#53Name: Address: 10.1.1.35netstat -ntl |grep 110 --再查看端口,发现没有110端口,表示pop3协议没有配置所以要去配置dovecot服务[root@li /]# vim /etc/dovecot.confprotocols = imap imaps pop3 pop3s --在20行找到有一行注释,打开注释,或者写一行,表示支持pop3和imap协议/etc/init.d/dovecot restart --重启服务后,就可以看到监听143和110端口打开了[root@li /]# netstat -ntlup |grep 143tcp 0 0 :::143 :::* LISTEN 21674/dovecot[root@li /]# netstat -ntlup |grep 110tcp 0 0 :::110 :::* LISTEN 21674/dovecot然后就可以收邮件了例三:使用支持短域名来发送邮件[root@li /]# mail -s '222' a@ --使用短域名222222.Cc:[root@li /]# tail /var/mail/a --查看时看不到,表示不支持短域名[root@li /]# tail /var/mail/root --可以看到扔到root的邮箱去了配置方法:[root@li /]# vim /etc/mail/local-host-names --写上短域名--注意的是写的域名,最好是DNS能解析,否则测试失败/etc/init.d/sendmail reload再用短域名发送并测试发现是可以成功的例四:邮件别名,邮件转发,邮件群发[root@li /]# vim /etc/aliases加上a: b --表示发送给a用户的邮件,发给了b用户,a用户自己收不到c: d,e,f --表示发送c用户的邮件,发给了d,e,f三个用户,a用户自己收不到salegroup: :include:/etc/mail/salegroup --还可以这样写,把一些用户分组,注意/etc/mail/salegroup是不存在的,要手动建立并把这个组的成员写进去,一行一个用户;测试时发给的用户名要写成salegroup,例如:mail -s '7777' salegroup@/etc/init.d/sendmail reload例五:邮件的虚拟账号,虚拟用户表格[root@li /]# vim /etc/mail/virtusertablea@ b@ --把b@的账号虚拟成a@账号@ c --所有发往域的邮件都会发到本地的c用户的mailbox/etc/init.d/sendmail reload例五:邮件中继保持上面的配置不变的情况下,用另一台电脑做测试[root@dns ~]# telnet 10.1.1.35 25 --另一台电脑测试35这台服务器上的smtp 协议Trying 10.1.1.35...Connected to 10.1.1.35 (10.1.1.35).Escape character is '^]'.220 ESMTP Sendmail 8.13.8/8.13.8; Sat, 29 May 2010 15:39:36 +0800helo 250 Hello [10.1.1.218], pleased to meet youmail from:sdfsa@250 2.1.0 sdfsa@... Sender okrcpt to:sfsadfa@550 5.7.1 sfsadfa@... Relaying denied. --可以看到中继拒绝[root@li /]# vim /etc/mail/access --默认是只允许127.0.0.1中继Connect:10.1.1.218 OK --非常信任的主机可以用OKConnect:10.1.1 RELAY --表示允许10.1.1.0网段中继FROM: REJECT --表示从来的邮件都拒绝TO: discard --到的邮件丢弃--reject和discard的区别,discard是直接丢弃,reject还要返回一个错误或者警告我在这里加上了Connect:10.1.1 RELAY/etc/init.d/sendmail reload再用刚才的另一台电脑来测试(要是10.1.1.0网段,因为上面我只允许这个网段relay)[root@dns ~]# telnet 10.1.1.35 25Trying 10.1.1.35...Connected to 10.1.1.35 (10.1.1.35).Escape character is '^]'.220 ESMTP Sendmail 8.13.8/8.13.8; Sat, 29 May 2010 15:51:35 +0800helo dns.lu.con250 Hello [10.1.1.218], pleased to meet youmail from:sfsafa@250 2.1.0 sfsafa@... Sender okrcpt to:sdfsadf@250 2.1.5 sdfsadf@... Recipient ok --这次测试没有报relay deny的错误------------------------------------------------------------------- 使用smtp验证yum install cyrus-sasl*vim /etc/mail/sendmail.mc --把下面三行注释打开TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnldefine(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnlDAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl/etc/init.d/sendmail restart/etc/init.d/dovecot restart/etc/init.d/saslauthd restart[root@li /]# telnet 10.1.1.35 25Trying 10.1.1.35...Connected to (10.1.1.35).Escape character is '^]'.220 ESMTP Sendmail 8.13.8/8.13.8; Sat, 29 May 2010 16:42:54 +0800ehlo --注意这里是ehlo 不是 helo Hello [10.1.1.35], pleased to meet you 250-ENHANCEDSTATUSCODES250-PIPELINING250-8BITMIME250-SIZE250-DSN250-ETRN250-AUTH GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN --看到这里有login plain验证信息表示支持smtp验证250-DELIVERBY250 HELP验证:[root@li /]# telnet 10.1.1.35 25Trying 10.1.1.35...Connected to (10.1.1.35).Escape character is '^]'.220 ESMTP Sendmail 8.13.8/8.13.8; Sat, 29 May 2010 16:45:12 +0800helo 250 Hello [10.1.1.35], pleased to meet youmail from:fsfafa@250 2.1.0 fsfafa@... Sender ok --这里没有要求验证原因:是因为smtp验证默认只是在587端口,而不是25端口,所以你还是直接telnet 10.1.1.35 25 就避开了使用smtp验证vim /etc/mail/sendmail.mc把下面这句DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl改为DAEMON_OPTIONS(`Port=25, Name=MSA, M=Ea')dnl然后还要DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl --把这名注释掉,注意注释时用dnl,不用#--表示强制使用smtp验证/etc/init.d/sendmail restart[root@li /]# telnet 10.1.1.35 25Trying 10.1.1.35...Connected to (10.1.1.35).Escape character is '^]'.220 ESMTP Sendmail 8.13.8/8.13.8; Sat, 29 May 2010 16:55:58 +0800helo 250 Hello [10.1.1.35], pleased to meet you mail from:sfsafsa@530 5.7.0 Authentication required --现在就会看到需要验证auth login --开始验证334 VXNlcm5hbWU6a --输入用户名,会报错,因为这里是用base64位编码501 5.5.4 cannot decode AUTH parameter aauth login334 VXNlcm5hbWU6YQ== --这就是a的base64位编码334 UGFzc3dvcmQ6MTIz --这是123的base64位编码235 2.0.0 OK Authenticated --验证成功,可以发送邮件了mail from:sdfasfas@250 2.1.0 sdfasfas@... Sender okrcpt to:b@250 2.1.5 b@... Recipient okdata354 Enter mail, end with "." on a line by itselflast test.250 2.0.0 o4T8twFU025598 Message accepted for deliveryquit221 2.0.0 closing connectionConnection closed by foreign host.cat /var/mail/b 是可以看到发送的邮件---------------用claws-mail来验证点设置--目前账号的偏好设置--发送--把SMTP鉴权(SMTP AUTH)前面的勾打上--鉴权方式选PLAIN--用户ID和密码写上本机的一个普通名和其密码就OK再发送信件等都是经过了SMTP验证的。
CentOSLinux邮件系统搭建背景操作系统版本(cat /etc/issue):CentOS release 6.5 (Final)主机名:mail.gogo.so域名:gogo.so⽤到软件:postfix相关协议:SMTP : Simple Mail Transport Protocol,它是⽤于传送邮件的标准协议(TCP port 25)。
Postfix不处理任何POP和IMAP通信内容。
IMAP和POP3是⽤于收信的协议,描述如何从邮箱中取出邮件。
POP3和IMAP完全没有寄信的能⼒,只能帮⽤户处理事先收到的邮件。
并⾮所有⽤户都需要透过POP3/IMAP来访问邮箱。
拥有Linux系统账号的⽤户,可能设定他们的MUA直接读取同⼀机器上的邮件⽂件。
邮件系统的组成:⼀个邮件系统通常包括:MUA、MTA、MRA、MDA等。
MUA:Mail User Agent(邮件⽤户代理),常见的MUA有mutt,Outlook Express,Foxmail等,MUA并⾮直接将E-mail送到收到件⼈⼿中,⽽是由MTA代为传递。
当你要求MUA发送⼀封邮件,它只是将该邮件交给⼀台运⾏MTA软件(例如Postfix)的服务器。
MTA:Mail Transfer Agent(邮件传输代理),Postfix是⼀种MTA。
MTA的任务是:(1)接受MUA的委托,将E-mail从⼀个系统递送到另⼀个系统;(2)接收从别的MTA发送过来的邮件。
每当MTA收到MUA的寄信请求时,它会先判断是否应该受理。
通常,如果邮件是来⾃本地系统的⽤户,或是本地⽹络上的系统,或是任何特许可以通过它转发(relay)邮件到其他⽬的地的⽹络,MTA都会受理寄信请求。
另⼀⽅⾯,MTA也会依据“收件⼈”来决定是否要收下邮件。
如果收件⼈是本地系统的⽤户,或是收件⼈位于它知道要如何转递(forward)的其他系统,MTA就会收下该邮件。
MTA收下邮件之后,有两种可能:(1)将邮件递送给⾃⼰系统上的⽤户;(2)将邮件交给另⼀个MTA来继续传递。
用Linux作邮件服务器2008-07-28 17:30:31在Internet上,E-mail是用户之间交往沟通的最佳方式。
通过电子邮件,可以为Linux 系统开拓新的空间,增强与外界的联系。
已经证明,电子邮件是Internet上使用最多的应用程序,甚至比WWW的使用还要多。
本章介绍如何为Linux系统安装、配置E-mail软件。
1 Linux E-mail软件简介Linux中的E-mail软件系统分为两大类:MUA(邮件用户代理)和MTA(邮件传送代理)。
MUA的功能是为用户提供读写邮件的界面,而MTA的作用则是处理邮件的收发工作。
换言之,用户可以通过MUA写信、读信,利用MTA收信、发信。
最常用的电子邮件MTA系统是sendmail,它由加州大学开发,其最新版本是8.9;另一个常见的MTA程序是smail,它由Curt Noll和Ronald Karr联合开发,也已经发布了几个版本。
值得注意的是,与其他大型软件包一样,sendmail也有自己的一些缺陷。
虽然引起sendmail失败或系统崩溃的错误已基本上被排除,但提供root访问权限的安全性漏洞仍然时有发现。
如果配置不当,sendmail有可能为“黑客”提供可乘之机。
为了安全起见,用户最好定期访问计算机紧急反应小组(CERT,www.cert.org)的网页,加入它的邮递列表,或者阅读由它主持的网络讨论组(conp.security.announce)来了解由它发出的安全性通知。
电子邮件的MUA系统目前很多,大约有十几种,其中最常见是:mail和elm。
2 sendmail及其配置本节介绍如何安装和配置sendmail程序,不过在开始深入研究这些详细内容之前,先介绍SMTP协议以及域名系统(DNS)对E-mail在Internet上传输的影响。
2.1 SMTPSMTP是简单邮件传输协议的简称,是Internet上传输邮件的既定标准方式。
sendmail 的基础协议正是SMTP。
Roundcube Webmail 多域及插件配置篇
之前写了关于Roundcube
Webmail的安装和配置,不过是针对单域的,其实多域的话很简单,无非是配置文件里设置的问题,插件也一样,必须在配置文件里配置,否则无法使用。
因为有了插件,Roundcube的功能会丰富很多,基本上你能想到的都有插件可以用,所以这个Webmail还是很给力了,况且还是免费开源的。
进入正题,先说说多域的事情:
请先确认您的HmailServer里,已经把另一个域
的相关配置搞定了[参见这里:hMailServer配置],然后再开始下面的内容,打开Roundcube
Webmail的主配置文件,在config目录下,main.inc.php就是这个文件,安全起见,请先备份一个。
查找:
查看代码
打印?1
$rcmail_config['default_host'] =。
RoundCube Web Mail是一个基于浏览器,支持多国语言的IMAP客户端,操作界面看起像一个桌面应用程序。
它提供一个e-mail客户端应该具备的所有功能包括MIME支持,地址薄,文件夹操作,信息搜索和拼写检查。
RoundCube Webmail采用PHP+Ajax开发并且需要MySQL 数据库来存储数据。
用户界面采用XHTML+CSS2设计。
B、安装B.0、运行环境准备RoundCube Web Mail只能运行在php环境中,必须先安装好apache+php。
和数据库mysql 或postgresql。
B.1、下载下载地址:/download下载文件:roundcubemail-0.5.3.tar.gzB.2、安装1.复制到apache运行目录下cp roundcubemail-0.5.3.tar.gz /var/www/html/2.解压tar zxvf roundcubemail-0.5.3.tar.gzmv roundcubemail-0.5.3 mail3.修改权限chown -R root:apache /var/www/html/mail/cd /var/www/html/mail/chmod g+w temp/chmod g+w logs/4.配置打开网址:http://192.168.1.254/mail/installer/按照要求建立配置,后续也可以修改,再初始化数据库。
C、常用配置配置文件/var/www/html/mail/config/main.inc.php1.$rcmail_config['default_host'] = '192.168.1.253';设置默认邮箱的IP(IMAP服务器的IP)。
2.$rcmail_config['smtp_server'] = '192.168.1.253';设置SMTP服务器的IP。
RoundCube Web Mail是一个基于浏览器,支持多国语言的IMAP客户端,操作界面看起像一个桌面应用程序。
它提供一个e-mail客户端应该具备的所有功能包括MIME支持,地址薄,文件夹操作,信息搜索和拼写检查。
RoundCube Webmail采用PHP+Ajax开发并且需要MySQL 数据库来存储数据。
用户界面采用XHTML+CSS2设计。
B、安装B.0、运行环境准备RoundCube Web Mail只能运行在php环境中,必须先安装好apache+php。
和数据库mysql 或postgresql。
B.1、下载下载地址:/download下载文件:roundcubemail-0.5.3.tar.gzB.2、安装1.复制到apache运行目录下cp roundcubemail-0.5.3.tar.gz /var/www/html/2.解压tar zxvf roundcubemail-0.5.3.tar.gzmv roundcubemail-0.5.3 mail3.修改权限chown -R root:apache /var/www/html/mail/cd /var/www/html/mail/chmod g+w temp/chmod g+w logs/4.配置打开网址:http://192.168.1.254/mail/installer/按照要求建立配置,后续也可以修改,再初始化数据库。
C、常用配置配置文件/var/www/html/mail/config/main.inc.php1.$rcmail_config['default_host'] = '192.168.1.253';设置默认邮箱的IP(IMAP服务器的IP)。
2.$rcmail_config['smtp_server'] = '192.168.1.253';设置SMTP服务器的IP。
3.$rcmail_config['product_name'] = 'Web Mail';设置本项目名称4.$rcmail_config['language'] = ‘zh_CN’;设置默认语言。
5.邮箱指定$rcmail_config['drafts_mbox'] = 'mail/saved-drafts';草稿箱$rcmail_config['junk_mbox'] = 'mail/spam-mail';垃圾邮件$rcmail_config['sent_mbox'] = 'mail/sent-mail';$rcmail_config['trash_mbox'] = 'mail/mail-trash';回收站6.邮箱夹邮件夹的设定文件在:home目录下.mailboxlist文件中的内容和顺序决定邮件夹的内容和顺序7.$rcmail_config['default_charset'] = 'UTF-8';默认字符集8.$rcmail_config['timezone'] = 8;默认时区为东8区9.$rcmail_config['prettydate'] = false;时间显示格式true为短格式,false为长格式。
10.几种时间格式$rcmail_config['date_short'] = 'D H:i';短格式时时间显示方式$rcmail_config['date_long'] = 'd.m.Y H:i';长格式时时间显示方式$rcmail_config['date_today'] = 'H:i';今天时间显示方式11.$rcmail_config['preview_pane'] = true;显示预览窗口D、组件配置组件目录在plugins,这个版本共有22个组件,要安装那个组件就在$rcmail_config['plugins'] = array();加入组件的文件夹名。
$rcmail_config*'plugins'+ = array(‘help’);D.0、组件来源官网组件:/wiki/Plugin_RepositoryD.1、首次登陆对话框(new_user_dialog)$rcmail_config['plugins'] = array(‘new_user_dialog’);1.复制new_user_dialog/ localization/目录下zh_TW.inccp zh_TW.inc zh_CN.inc不知道为什么没有zh_CN的语言包,还好有繁体的根据它修改一下。
D.2、标记垃圾邮件(markasjunk)$rcmail_config['plugins'] = array(‘markasjunk’);1.配置zh_CN的语言包D.3、标记垃圾邮件(markasjunk2)在原有功能上的扩展,在垃圾邮件箱子时,有恢复按钮1.下载wget /roundcube/plugins/markasjunk2.tar.gzD.4、存档箱(archive)在邮件工具栏上添加一个新按钮,它可以移动你的邮箱到用户自定义存档箱内。
D.5、上传附件到数据库中(database_attachments)$rcmail_config['plugins'] = array(‘database_attachments’);不需要做什么配置,生效后,上传的附件将保存到数据库cache表中。
D.6、用户信息(userinfo)$rcmail_config['plugins'] = array(‘userinfo’);1.配置zh_CN的语言包D.7、全局通讯录(globaladdressbook)$rcmail_config['plugins'] = array(‘globaladdressbook’);1.下载wget /roundcube/plugins/globaladdressbook.tar.gz2.解压globaladdressbook.tar.gz到roundcube的插件目录tar zxvf globaladdressbook.tar.gz -C /var/www/html/mail/plugins/3.配置插件cd /var/www/ html/mail/plugins/globaladdressbookcp config.inc.php.dist config.inc.php4.设置配置文件vi config.inc.php$rcmail_config['globaladdressbook_readonly'] = true;设置为只读$rcmail_config['globaladdressbook_groups'] = true;设置全局地址本可以添加组$rcmail_config['globaladdressbook_admin'] = 'jizhou';指定全局地址本的管理员$rcmail_config['globaladdressbook_autocomplete'] = true;设置写收件人地址时,可在下拉菜单中显示全局地址本中的邮箱地址D.8、右键菜单(contextmenu)$rcmail_config['plugins'] = array(‘contextmenu’);1.下载wget /roundcube/plugins/contextmenu.tar.gz2.将这个插件解压到roundcube的插件目录tar zxvf contextmenu.tar.gz -C /var/www/html/mail/plugins/3. 配置插件该插件不需要做什么配置D.9、复制邮件(copymessage)在右键菜单中增加复制邮件功能菜单。
配置语言包即可,无特别设置。
1.下载wget /roundcube/plugins/copymessage.tar.gzD.10、修改密码(password)$rcmail_config['plugins'] = array(‘password’);1.配置zh_CN的语言包2.配置插件cp config.inc.php.dist config.inc.php3.配置config.inc.php$rcmail_config['password_driver'] = 'chpasswd';因为我使用的是sendmail,使用用linux用户。
Roundcube运行在apache httpd下,而httpd 运行用户是apache。
现在要php能够修改linux用户。
需要在linux下安装chpasswd和sudo。
chpasswd实现单条命令修改linux用户密码,而修改密码的权限只有root有,所用需要sudo给运行php的apache用户增加chpasswd的权限。
4.配置sudo应有命令visudo修改文件/etc/sudoers在文件末尾添加:apache ALL=NOPASSWD:/usr/sbin/chpasswd此行代码是给apache用户增加chpasswd的权限。
并注释掉Defaults requiretty这行,否则会出现sudo:sorry,you must have a tty to run sudo的错误。
D.11、SpamAssassin的用户首选项(SQL)(sauserprefs)$rcmail_config['plugins'] = array(‘sauserprefs’);1.下载wget /roundcube/plugins/sauserprefs.tar.gz2.准备SpamAssassin需要安装3.设置配置文件$rcmail_config['sauserprefs_db_dsnw'] =’’;spamassassin数据库连接$rcmail_config['sauserprefs_sql_table_name'] = "userpref";保存用户首选项的表,在数据库中创建表userpref$rcmail_config['sauserprefs_sql_username_field'] = "username";$rcmail_config['sauserprefs_sql_preference_field'] = "preference";$rcmail_config['sauserprefs_sql_value_field'] = "value";创建的表userpref必须包含username用户名,preference选项,value值,三个字段CREATE TABLE userpref(id int4 NOT NULL DEFAULT nextval('userpref_id_seq'::regclass),username varchar(128),preference varchar(64),value text,CONSTRAINT userpref_pkey PRIMARY KEY (id))$rcmail_config['sauserprefs_whitelist_sync'] = FALSE;启用的白名单同步,用户添加通讯录时,自动添加到白名单中。