首页 > 学院 > 开发设计 > 正文

hmailserver + afterlogic 搭建webmail

2019-11-06 08:27:58
字体:
来源:转载
供稿:网友

公司的邮箱系统一直是我在维护,最近公司有webmail的需求(之前都是用邮件客户端连的),其实大部分我也是按照网上的教程来的,但基本都比较老了,有些地方略有不同,也踩到了坑。我在这里就说一下我的安装步骤吧。

环境:Windows Sever 2008  &&  php 5.4.0  &&  apache  &&  MySQL  &&  hmailserver 5.6.6(安装webmail之前升级到了当前最稳定的版本)

首先看了几个开源免费的web邮件系统,觉得afterlogic好像看起来还不错,首先当然是去afterlogic官网下载,直接下载最新版7.7,解压放到apache的web目录:

然后用浏览器访问这个目录:http://localhost/xx/webmail (这里xx为成实际你放的路径),我配置的v-hosts,所以直接给个二级域名指向了这个目录,这样更优雅一点webmail.公司网址.com

这时候肯定是不能用的,你需要在进到http://localhost/xx/webmail/install进行安装配置:

检测环境,没问题前面两步直接next,有问题处理问题,然后:

这一步是配置数据库,数据库帐号一定要有远程链接的权限,一开始使用root帐号一直提示报错SQLSTATE[HY000] [1045]xxxxxx等等,就是root没开外网权限,只能在localhost下使用,我这里是外网连接,所以不行。database name就是数据库名,首次肯定要创建一个,之后几步配置webmail管理员帐号、邮件测试,我就不截图了,都是一些简单的操作。

创建好之后,会直接跳转到管理员配置面板,http://localhost/xx/webmail/adminpanel/,以后也可以直接访问网址。

这里遇到了一个大坑,由于对php水平掌握还确实是有限,一开始一打开这个目录直接报错

纳尼?上线的项目也会出这样的大bug?管理面板无法访问?什么鬼?看Apache下面的log竟然没反应,也没php error log,wtf?看代码看了一头雾水,好像都没啥问题呀?只好让我们组大牛帮看看,大牛一看说Zend目录下也有log,mdzz,一开始就用wamp这种东西,导致原始的都不知道怎么用了。。。一看log,报

"Can't use method return value in write context in x:/xx/webmail/adminpanel/modules/common/inc/post.php on line 98"

这是什么鬼,就是这行代码报错:

if (empty($this->oSettings->GetConf('Common/AdminPassWord')) || crypt(trim(CPost::get('txtOldPassword')), /CApi::$sSalt) === $this->oSettings->GetConf('Common/AdminPassword')){ $this->oSettings->SetConf('Common/AdminPassword', crypt(trim(CPost::get('txtNewPassword')), CApi::$sSalt));}去掉后面的条件,从第一个empty($this->oSettings->GetConf('Common/AdminPassword'))这里就开始报错,和大牛追踪了半天也没发现个所以然,然后百度一下报错Can't use method return value in write context 恍然大悟,我估计原因应该是php版本导致的,empty不能判断一个函数的返回值,只能返回一个变量,mdzz,然后代码一改:

$cft = $this->oSettings->GetConf('Common/AdminPassword');if (empty($cft) || crypt(trim(CPost::get('txtOldPassword')), /CApi::$sSalt) === $this->oSettings->GetConf('Common/AdminPassword')){ $this->oSettings->SetConf('Common/AdminPassword', crypt(trim(CPost::get('txtNewPassword')), CApi::$sSalt));}

成功打开管理员面板

如果能正常访问并且登录之后,网页就会一直提示你删除install目录,因为install不需要权限就能访问,而且可以随意更改配置。

所以直接去webmail文件夹下删除install目录就好,如果你想要以防万一可以把install压缩备份一下。

然后在网页adminpanel面板里自定义一些配置(如默认为英文,去里面改成默认中文等)。至此,webmail基本就完成了。

以上就基本就完成了webmail的访问,但hmailserver还自带了PHPWebAdmin,找到hmailserver安装目录下面的PHPWebAdmin,复制到xx/webmail的目录下,然后我命名为management,这样直接访问http://localhost/xx/webmail/management/在登录个人邮箱就能自助该密码等操作啦,当然还要配置下:

把config-dist.php复制一下然后改成config.php

打开config.php,把$hmail_config['rooturl'] = "xxxxx" 改成你的实际外网路径

然后一个英文版的PHPWebAdmin就OK了,登录一下(图片是我已经汉化了的,具体会在下面说)

基本功能都是有了,用户也能自己修改密码已经增加签名等操作,但是还有个添加外部账户的功能这个一般来说都是不需要的,于是看下代码(好简单粗暴的代码),找到同目录下的include_treemenu.php,打开搜索account_externalaccounts 这个就是外部帐号功能,这行完整代码是:$dtree .="d.add(" . $dtitem++ . ",$di,'" . GetStringForjavaScript("External accounts") . "','index.php?page=account_externalaccounts&accountid=" . $accountid . "&domainid=" . $obDomain->ID. "');/r/n";

这个代码有两处,都注释掉(我这里是28和222行)因为他分了不同的用户等级权限。

然后刷新一下,外部帐号就没了

一个简单的web管理系统基本就完成了。在http://localhost/xx/webmail/页面加一个链接<a href="http://localhost/xx/webmail/management/"> 忘记密码 <a/>就更完美了。

最后说说怎么汉化,看了一下代码,是拿的hmailserver里面的语言配置,那么直接上网下载个hmailserver的chinese.ini(中文包),放在hmailserver/Languages下面,然后打开hmailserver/Bin/hMailServer.INI,在后面ValidLanguages=english后面加一个chinese,变成ValidLanguages=english,chinese,重启一下hmailserver服务,打开hmailserver进入控制面板左上角就看到Chinese选项了。

如果hmailserver能显示中文,那么基本就OK了,去刚才的webmail/management/config.php找到$hmail_config['defaultlanguage'] = "english";把english改成chinese,即:$hmail_config['defaultlanguage'] = "chinese";刷新一下网页,就变成中文了。

附:chinese.ini 我也是网上下载的不知道哪个版本,然后自己改了一些字符串,看起来稍微通畅一点。(新建一个txt改成chinese.ini然后右键编辑粘贴进去)

[Strings]String_1=文件String_2=退出String_3=帮助(&A)String_5=关于...String_6=域名String_8=服务String_9=帐号String_10=别名String_11=邮件列表String_12=MX查询String_13=设置String_14=DNS缓存String_15=SMTPString_16=安全String_17=POP3String_18=IP范围String_19=镜像String_20=日志String_21=欢迎String_22=域String_23=域名String_25=SMTP验证String_26=保存(&S)String_27=帐号地址String_28=激活String_29=AD用户String_30=是String_32=密码String_33=最大容量(MB)String_34=大小(MB)String_35=调试String_40=项目String_41=数值String_42=动作String_43=在下面的空格中填入活动目录相关信息,你就可以把当前用户帐号连接到活动目录中的某个帐号,当用户连接到服务器,hMailServer将使用活动目录来校验用户的密码。String_44=活动目录帐号String_45=用户名String_46=重定向自String_47=发送到String_48=地址String_50=常规String_51=成员String_52=收件人地址String_55=服务String_56=当前状态String_57=E-mail地址String_58=解析(&R)String_59=邮件服务器String_61=缓存更新间隔:String_62=每个String_63=小时String_64=TCP端口String_65=SMTP端口String_66=连接String_67=最大连接并发数(0表示无限制)String_68=中继邮箱String_69=重试次数String_70=重试间隔(单位:分钟)String_71=开放转发String_72=垃圾邮件String_73=允许纯文本密码验证String_74=允许发件人为空String_75=转发String_80=垃圾邮件延迟,超过定量,连接将被延迟String_81=数量String_82=延迟(秒)String_87=POP3端口String_88=开始IPString_89=结束IPString_90=优先级String_91=地址String_92=0是最低优先级。100是最高优先级。String_93=选项String_94=允许SMTP连接String_95=允许SMTP转发String_96=允许POP3连接String_97=镜像邮件地址String_98=复制本服务器上的全部邮件,本服务器所有收到的和外发的邮件都将被转发到下面空格中所填的镜像邮件地址.String_99=装置String_100=记录String_101=应用程序String_104=TCP/IPString_105=文件String_106=活动目录String_107=帐号String_114=邮件列表String_115=输入收件人地址String_117=启动String_118=停止String_120=暂停String_121=暂停中String_122=运行中String_123=启动中String_124=停止String_125=停止中String_132=完成String_133=错误String_137=数据库服务器地址String_138=用户信息String_139=数据库String_140=名称String_149=<上一步(&B)String_150=下一步(&N)>String_151=取消(&C)String_152=输入连接信息String_153=通知String_154=密码将以为明文方式存储在hmailserver.ini.请配置你的操作系统环境,避免其他用户读取这个文件。String_155=向导程序有足够的信息来结束这个操作String_158=请键入数据库服务器的名字。String_159=请键入数据库名字String_160=连接到String_161=连接成功。String_162=无法连接到数据库服务器。String_163=创建数据库String_164=创建数据库成功。String_165=不能创建数据库。String_166=预备创建数据库表格...String_167=预创成功。String_168=预创失败。String_170=创建数据库表格...String_171=创建数据库表格成功。String_172=不能创建数据库表格。String_173=运行hDBUpdater.exe失败String_174=创建数据库失败.String_175=请返回上一步,重新检测你的设置。String_176=添加域名...String_180=添加活动目录帐号String_188=Root密码String_189=Root密码(重复)String_190=向导程序将自动为你配置hMailServer数据库。你唯一要做的就是输入要使用的Root密码。String_192=按结束按钮退出向导。String_193=结束(&F)String_194=IMAP设置String_195=IMAP端口String_196=IMAPString_197=SMTP转发器String_198=欢迎信息String_199=你输入的不是一个有效的域名。String_200=激活String_205=其他String_206=调试信息String_208=如果空格:String_209=存在数值:String_210=然后String_211=删除邮件String_212=来自String_212=来自String_213=查看日志String_214=投递线程String_215=高级String_216=假期邮件String_217=允许String_218=主题String_219=文本String_220=你的修改没有保存,是否现在保存?String_221=IMAP会话String_222=允许IMAP连接String_223=到String_224=病毒控制String_225=使用ClamWinString_226=ClamScan执行命令String_227=ClamScan病毒库路径String_228=删除邮件String_229=删除邮件附件String_230=通知发件人String_231=通知收件人String_232=结束操作String_233=不能创建数据库。String_234=不能连接到String_235=你必须输入一个Root密码。String_236=输入的密码不匹配。String_237=连接错误String_238=自动侦测String_239=hMailAdmin可以自动侦测ClamScan的安装路径和病毒库位置。请校验自动侦测的结果是否正确。String_240=实时String_242=清除String_243=类型String_244=线程String_245=时间String_246=IPString_247=允许连接String_248=请求递交验证String_249=允许递交来自String_250=到本地帐号String_251=到远程帐户String_252=本地到本地的帐号String_253=本地到外部的帐号String_254=外部到本地的帐号String_255=外部到外部的帐号String_257=IP范围String_258=路由String_259=路由String_260=目标SMTP主机String_261=重试次数String_262=递交所有地址String_263=只递交下列地址:String_264=添加地址前必须先保存路由设置。String_267=统计String_268=发送统计结果给hMailServer.comString_269=如果你允许此统计选项,每到1000条信息,统计结果将会被发送到hMailServer.com。请注意,只有你的版本号会被包含在统计结果中发送出去,你的个人信息和主机配置信息都不会被发送。String_270=主机名String_271=自动回复String_272=刷新String_273=未递交的邮件String_274=IDString_275=创建String_276=下次尝试String_277=关闭(&C)String_278=捕获所有地址,所有未指定收件人的邮件都发送到:String_279=输入密码String_280=取消String_281=确定String_282=本地域名String_283=外部域名String_284=把这个路由视作String_285=服务器请求验证String_286=新密码String_288=<<加密的>>String_289=递交String_290=使用数据库递交记录String_291=当病毒被发现时String_292=使用外部反病毒扫描程序String_293=反病毒扫描程序位置String_294=返回值String_295=外部反病毒扫描程序String_298=你在SMTP设置中还没有为此主机指定公开可用的主机域名.String_299=版本String_300=服务器信息String_301=开始之旅String_302=RBLString_303=使用SPFString_304=校验发送者是否有DNS-MX记录String_305=RBLString_306=DNS主机String_307=预期结果String_308=拒绝信息String_311=外部帐号String_312=服务器地址String_313=服务器信息String_314=服务器类型String_315=两次下载邮件的间隔时间(分钟)String_316=天String_317=立即删除邮件String_318=在指定天数以后删除邮件String_319=不要删除邮件String_320=外部帐号String_321=脚本String_322=重新载入脚本String_323=查看脚本String_324=检查脚本语法String_325=语法正确。String_326=服务器String_327=状态String_328=数量String_329=已处理邮件String_330=带毒邮件String_331=垃圾邮件String_332=服务器在线从String_333=管理级别String_334=用户String_335=主机别名String_336=规则String_337=规则String_338=使用ANDString_339=使用ORString_340=触发String_341=编辑String_342=查找类型String_343=删除邮件String_344=转发邮件String_345=移动到IMAP文件夹String_346=回复String_347=邮件体String_348=来自(名称)String_349=来自(地址)String_350=IMAP文件夹String_351=查找String_352=预设邮件头String_353=自定义邮件头String_355=邮件尺寸String_356=抄送String_357=匹配String_358=包含String_359=大于String_360=少于String_361=表达式String_362=不包含String_363=不匹配String_364=SMTP命名中的收件人String_365=重启hMailServer服务String_366=最大邮件尺寸(KB)String_367=TCP/IP监听选项String_369=监听中String_372=IP地址String_373=你的hMailServer数据库已经升级。String_374=缓存String_375=生存时间(秒)String_376=点击率String_377=协议String_378=规则循环限制String_379=备份String_380=还原String_381=备份到String_382=邮件String_383=查看日志...String_384=压缩文件String_388=还原自String_389=清除队列String_390=你真要清除递交队列中的项目吗?String_391=连接String_393=启动时自动连接String_394=服务器版本必须匹配客户端版本.服务器:%1,客户端:%2.String_395=实用工具String_396=从服务器发送String_397=发送到String_398=所有帐号String_399=指定域名String_400=使用通配符匹配帐号String_401=发送String_402=邮件已被发送。String_403=邮件String_404=别名String_405=登出String_406=解锁String_407=立即发送String_408=转发String_409=允许转发String_410=保留原始邮件String_411=免过滤地址符String_412=字符String_413=扩展String_414=校验HELO/HELO命令中的主机名String_415=当垃圾邮件被发现时...String_416=递交,但修改邮件头String_417=添加X-hMailServer-SpamString_418=添加X-hMailServer-ReasonString_419=添加到邮件主题中String_420=灰名单String_421=延迟重试投递的时间(分钟)String_422=几天后移除未使用记录String_423=几天后移除已使用记录String_424=SURBLString_425=SURBLString_426=反病毒程序扫描的最大邮件尺寸(KB)String_427=阻挡附件String_428=阻挡如下扩展名的附件:String_429=阻挡附件String_430=通配符String_431=描述String_432=在MIME邮件头中递交给收件人String_433=脚本功能String_434=线程String_435=最大线程命令String_436=进程优先级String_437=同名的邮件路由已经存在String_438=SMTP转发器指定的时本机地址。你确定你要做这个操作吗?String_439=RFC兼容性String_440=允许无效的断行符String_441=收到太多无效命令时,断开客户端连接String_442=无效命令允许数String_443=绑定到本地IP地址String_444=单次会话中允许的最大收件人数String_445=你必须指定IP范围段的开始/结束地址。String_446=同名的IP范围段已经存在String_447=性能String_448=默认域名String_449=服务器信息String_450=运行功能脚本String_451=隐藏密码String_452=类型String_453=公开-任何人都可以发送到本列表String_454=成员-只有列表成员才能发送到本列表String_455=通告-只有下列地址才被允许发送到本列表:String_456=已使用容量(MB)String_457=这个域名设置了最大尺寸,因此你必须指定帐号最大尺寸String_459=无效的用户名或密码。String_460=连接时,询问密码String_461=保存密码String_462=会话String_463=尽快地String_464=立即递交...String_465=使用SQL服务器验证String_466=使用Windows验证String_467=数据库名String_468=验证String_469=白名单String_470=TCP/IP端口String_471=协议String_472=签名String_473=纯文本签名String_474=HTML签名String_475=使用此签名,如果发件人帐号中没有指定签名String_476=覆盖帐号签名String_477=追加帐号签名String_478=允许签名String_479=添加签名到回复邮件String_480=添加签名在本地邮件String_481=允许域名签名String_482=hMailServer管理员密码String_483=最后登陆时间String_484=最大帐号数量String_485=最大别名数量String_486=最大邮件列表数量String_487=无法添加新的帐号,因为已经到达本域名的最大帐号数限制。String_488=无法添加新的别名,因为已经到达本域名的最大别名数限制。String_489=无法添加新的邮件列表,因为已经到达本域名的最大列表数限制。String_490=限制String_491=帐号最大容量(MB)String_496=转发中继String_497=你确定要删除%s?String_498=注意:此功能是设计用来备份数据库小于1GB的电子邮件数据。如果您的数据库大于这个范围,请参考文件使用外部工具备份。String_499=从接收头检索日期String_500=向上移动String_501=向下移动String_502=自动过期String_503=立即下载String_504=如果此选项被取消选中许多电子邮件服务器将不会接受从您的服务器上发出的电子邮件。您确定要取消选择它?String_505=您已设定hMailServer不允许空发件人的电子邮件地址。许多电子邮件服务器将不接受电子邮件从您的服务器与此配置。String_506=停止规则处理String_507=激活SMTPString_508=激活POP3String_509=激活IMAPString_510=hMailServer管理员密码String_511=您需要这个密码可以管理您的hMailServer安装,请记住它。String_513=组String_514=组String_515=权限为%sString_516=任何人String_517=SSL证书String_518=SSL证书String_519=此操作将改变配置TCP/IP端口为默认值。您确定要这么做?String_520=无String_521=设置标头值String_522=号的尝试String_523=头名称String_524=选择...String_525=空帐户String_526=文件夹String_527=访问String_528=编辑权限...String_529=使用SSLString_530=证书文件String_531=私钥文件String_532=添加传递至头String_533=公共文件夹的名称String_534=权限String_535=选择全部String_536=选择无String_537=查找String_538=读String_539=创建邮箱String_540=删除邮箱String_541=管理String_542=插入邮件String_543=一笔勾销String_544=保持看到国旗String_545=保留删除标志String_546=保持其他标志String_547=无String_548=垃圾邮件评分String_550=垃圾邮件测试String_551=反垃圾邮件String_552=垃圾邮件评分马克门槛String_553=垃圾邮件评分降低门槛String_554=密码安全性太低,你确定要使用它?String_555=当前会议String_556=个人信息String_557=名字String_558=姓氏String_559=使用SpamAssassin的String_560=使用评分从SpamAssassin的String_561=本地主机名String_562=远程主机名String_563=远程TCP/IP端口String_564=配置警告String_565=打开的会话数String_566=文件名String_567=传递队列String_568=启用String_569=转发给String_570=下一个下载String_571=其他行动String_572=编辑文件夹String_574=添加(&A)...String_575=编辑(&E)...String_576=公用文件夹String_577=垃圾邮件标志的门槛String_578=垃圾邮件删除门槛String_579=分数String_580=SSL证书String_581=证书文件String_582=私钥文件String_583=索引...String_584=选择语言...String_585=连接...String_586=文件(&F)String_587=帮助(&H)String_588=管理密码String_589=TCP/IP端口String_590=严重性String_591=高String_592=关键String_593=hMailServer配置为允许从外部交货的IP范围%s的外部帐户这可能使服务器容易受到垃圾邮件。我们建议您禁用此选项。String_594=确定(&O)String_595=属性String_596=动作String_597=选择(&S)...String_598=选择String_599=发送使用路由String_600=数字的尝试String_601=仅包括本次会议String_602=创建文件夹String_603=删除文件夹String_604=显示String_606=添加...String_607=空文件夹String_608=比较String_609=删除String_610=选择语言String_611=语言String_612=你确定要删除帐户中的所有邮件?String_614=TCP/IP地址String_615=对象String_616=保存String_617=天String_618=添加String_619=此操作将更改IP配置范围为默认值。您确定要这么做?String_620=最大邮件大小扫描(或)String_621=保持文件打开String_622=测试String_623=匹配String_624=不匹配String_626=如果你要自动备份进程,请使用脚本StartBackup.vbs在/hMailServer/扩展/工具发现。String_627=hMailServer必须重新启动使更改生效。String_628=你想重新启动hMailServer吗?String_629=该hMailServer服务器已重新启动。String_630=如果您更改这些设置,hMailServer必须重新启动使更改生效。String_631=最大数目的异步任务线程String_632=诊断String_633=此工具允许您执行您的hMailServer安装诊断。String_634=选择您想要的域上运行测试。String_635=复制到剪贴板String_637=自动停用String_638=过期String_639=传入中继String_640=最大无效登录尝试次数String_641=分钟后复位String_642=分钟后解除String_643=创建和发送副本String_644=允许路线者String_645=交付尝试String_646=消息索引String_647=请注意...String_648=更多细节...String_649=该自动禁止功能块的IP地址。如果有太多无效的登录尝试是从一个特定的IP地址时,该IP地址将被禁止。String_650=如果您正在运行一个Web邮件系统,这意味着邮件系统可能会被封锁,如果太多无效的登录尝试向它提出的。String_651=你确定要删除所选的项目?String_652=绕道灰名单对SPF通行证String_653=本地到本地电子邮件地址String_654=当地和外部电子邮件地址String_655=外部当地的电子邮件地址String_656=外部外部电子邮件地址String_659=目前已有此名称的文件夹。String_660=层次定界符String_661=一个文件夹名称不能包含的层次分隔符。String_662=绕道灰名单留言时从A或MX记录到达。String_663=当发件人选择路由时,发件人为String_664=当收件人选择路由时,收件人为String_665=远程电子邮件地址String_666=本地的电子邮件地址String_667=该hMailServerIMAP的层次分隔符%S1。文件夹名称指定包含了%S2标准不是一个层次分隔,但可能是一个文件夹名称的一部分。如果您选择保存当前文件夹的名称,一个单一的文件夹名为%S3将被创建时,这一行动是执行。是否要使用此文件夹的名称?String_668=测试...String_669=不正确的用户名或密码。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表