一个完整的电子邮件服务器系统要由至少以下三个部分组成:
邮件发送服务用于发送邮件和邮件在服务器间的传递, 邮件接收服务用来为用户提供下载及远程管理, 电子邮件客户端是用于读取、撰写以及管理电子邮件的软件。
图 1. 邮件服务器工作原理图
SMTP 协议,全称 Simple Mail Transfer Protocol, 简单邮件传送协议,是一组邮件传送规则。 她可以控制信件的中转方式。SMTP 属于 TCP/IP 协议族,主要帮助每台计算机在发送或中转信件时找到下一个目的地。通过 SMTP 协议所指定的服务器,就可以把电子邮件寄到收信人的服务器上。SMTP 服务器则是遵循 SMTP 协议的邮件发送服务器,用来发送或中转电子邮件,SMTP 协议的默认端口是 25。
POP3 协议,全称 Post Office Protocol 3, 邮局协议的第三个版本。它规定了如何将个人计算机连接到 Internet 的邮件服务器上,以及如何下载电子邮件,POP3 协议是 Internet 电子邮件的第一个离线协议标准。 POP3 允许用户将邮件从服务器存储到本地主机,同时可删除保存在邮件服务器上的邮件。POP3 服务器则是遵循 POP3 协议的邮件接收服务器,用来接收电子邮件。POP3 协议的默认端口是 110。
hMailServer 是一款免费的,流行的,运行于 windows 平台的邮件服务器。hMailServer 邮件服务器使用广泛,如互联网服务商、公司、政府、学校和技术爱好者等。 hMailServer 具有防病毒,防垃圾邮件,多域名等功能。本文接下来将以 hMailServer 为例讲解邮件服务器的配置及与 Cognos BI 的集成。
hMailServer 官网下载地址: http://www.hMailServer.com/download
双击打开下载的 hMailServer 安装程序,启动安装向导,按照向导一步步安装即可。
回页首
第一步:从安装路径启动 hMailServer Administrator,界面如下图
图 2. 邮件服务器登陆界面
第二步:选择默认的 localhost 连接,单击 Connect 按钮,输入安装步骤中设置的密码,点击 OK 按钮后,即进入到 hMailServer Administrator 的主界面。
图 3. 邮件服务器管理主界面
第一步:接上图,单击“Add domain...”按钮。
第二步:在 General 标签下添加域名。比如:example.com。
注:如果仅用于局域网内部的邮件收发,不需要接收来自外网的邮件,则可以创建任意域名;如果需要收发来自外网的邮件,则需要是有效的域名。例如: yahoo.com 。
图 4. 邮件服务器域名配置界面
第三步:单击“Limits”标签,设置域的大小。 域用来存放所有的用户信息,因此可以根据用户数量和具体需求来规划域的存储空间。本文中我们将域空间设为 10G,允许信息大小为 3M,每个账户分配约 1G 空间。单击 Save 按钮完成域的设置。
图 5. 域空间大小设置界面
第一步:在左边的菜单栏里选中新建的域名 example.com,选择 Accounts 子目录,单击界面右侧的 Add 按钮添加帐户。
图 6. 添加域账户界面
第二步:在右边的显示栏内添加:用户名,密码,分配空间,权限等级,以及是否激活用户,单击 Save 按钮完成帐户添加。本例中添加了一个 tester1 的帐户。
注:用户名和密码将在稍后的 Cognos Configuration 的配置中非常重要。
图 7. 域账户配置界面
单击管理界面左边菜单栏的“Settings”,在设置选项中选择“Protocols”,确保勾选 SMTP,POP3 和 IMAP 前面的复选框。
图 8. 端口协议配置界面
在 Mail Server 中,IP 区域的设置非常关键,如果 IP 配置有误,可能会导致 Mail Server 无法正常运行。
IP 区域(IP Ranges)配置项位于管理界面的“Setting”→“Advanced”→“IP Ranges”目录中。
hMailServer 在“IP Ranges”目录下默认创建两个子目录,“Internet”和“My Computer”。在 Mail Server 的配置中用到的是“Internet”子目录,所以用户可以有选择地移除“My Computer”。
单击“Internet”子目录,在右边的操作界面进行配置:“Lower IP”设置为 0.0.0.0,“Upper IP”设置为 255.255.255.255,勾选 SMTP、POP3、IMAP 前面的复选框。“Allow deliveries form”和“Require SMTP authentication”中的选项默认勾选项。
图 9. 邮件服务器 IP 配置界面
到此,hMail Server 服务器端配置部分基本完成,如果需要使用专用加密信道收发邮件则请参考下面的 SSL 认证配置部分。
本节的主要内容是针对有使用专用加密信道收发邮件需求的企业或个人用户,如果只需要使用默认安全等级的用户,可以跳过这一节。
SSL 协议位于 TCP/IP 协议与各种应用层协议之间,为数据通讯提供安全支持。SSL 协议可分为两层:SSL 记录协议(SSL Record Protocol),它建立在可靠的传输协议(如 TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持; SSL 握手协议(SSL Handshake Protocol),它建立在 SSL 记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
配置 SSL 协议,需要生成私钥和 CA 认证证书,这里需要用到两个软件:ActivePerl、OpenSSL。
ActivePerl 和 OpenSSL 的 Beta 版本可以分别在其官方网站上下载:
ActivePerl: http://www.activestate.com/activeperl/downloads/
OpenSSL: http://www.openssl.org/source/
安装 ActivePerl 到 C 盘根目录下,打开“运行”输入“CMD”命令,进入 DOS 命令窗口。使用 cd 命令指向安装目录的 eg 文件夹,执行“perl example.pl”命令。若显示“Hello form ActivePerl!”,则说明 ActivePerl 安装成功,可以开始使用 ActivePerl 的相关命令来进行 OpenSSL 的安装了。
使用 cd 命令指向 OpenSSL 的源码目录 cd c:/ openssl-1.0.1j (这里的路径视下载安装包的版本和存放路径而定),执行 perl Configure VC-WIN32。最后,在 openSSL 的源码目录下运行命令:ms/do_ms,OpenSSL 和 ActivePerl 的安装到此已经完成,下一步需要生成用户认证证书和用户私钥。
X509 证书一般会用到三类文件: key、 csr、 crt。其中,Key 是私用秘钥,通常使用 RSA 算法生成;Csr 是证书请求文件,用于申请证书,在制作 csr 文件的时候,必须使用自己的私用秘钥来签署;Crt 是 CA 认证的证书文,签署人用自己的 key 来签署凭证。
用户私钥(*.key) 的生成
CMD 环境下输入命令“openssl genrsa -des3 -out server.key 1024” ,这样生成的是 rsa 私钥,使用 des3 算法,openssl 格式,1024 位强度。由于 server.key 是密钥文件名。为了生成这样的密钥,需要一个至少四位的密码。当然,也可以通过以下方法生成没有密码的私钥: openssl rsa -in server.key -out server.key
图 10. 用户私钥生成命令截图
证书签发请求文件(*. csr ) 的生成
CMD 环境下输入命令“openssl req -new -key server.key -out server.csr -config openssl.cnf”,需要依次输入国家,地区,组织,email。最重要的是“common name”,可以写姓名或者域名。如果为了 https 申请,这个必须和域名吻合,否则会引发浏览器警报。生成的 csr 文件交给 CA 签名后形成服务端自己的证书。
图 11. 证书签发请求文件生成命令截图
CMD 环境下输入命令“openssl req -new -x509 -key server.key -out ca.crt -days 3650”,
CA 证书用来产生最终的用户证书,部分用户在输入这段命令后会出现这样的错误“can’t open config file: /usr/local/ssl/openssl.cnf”。这是因为,在 OpenSSL 中默认的 openssl.cfg 的路径是在<XAMPP 的安装路径/php/extras/openssl/openssl.cfg>。这时,可以在 CMD 环境下输入“set OPENSSL_CONF=C:/OpenSSL 的安装目录/bin/openssl.cfg”。然后再输入上面的命令,这时会让您输入很多信息, 注意这里的信息一定要和生成证书请求文件(*.csr)时输入的信息一致。
图 12. CA 证书生成命令截图
用户证书(*. crt ) 的生成
CMD 环境下输入命令“openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt”,输入 key 的密钥后,完成 CA 证书生成。-CA 选项指明用于被签名的 csr 证书,-CAkey 选项指明用于签名的密钥,-CAserial 指明序列号文件,而-CAcreateserial 指明文件不存在时自动生成。最后生成了私用密钥:server.key 和自己认证的 SSL 证书:server.crt
图 13. 用户证书生成命令截图
在 hMailServer Administrator 的配置界面,选择“Setting”→“Advanced”→“SSL certificates”。在界面右边的操作栏点击“Add”按钮,键入 SSL 认证名称,例如:example.cert。在 Certificate file 选项导入 CA 证书 server.crt 文件,在 Private key file 选项导入私钥 server.key 文件,点击 Save 按钮。
图 14. SSL 认证配置界面及证书、私钥文件截图
在 hMailServer Administrator 的配置界面, 选择“Setting”→“Advanced”→“TCP/IP ports”,添加 SMTP、IMAP 和 POP3 的普通端口及 SSL 端口,并在 500/SMTP、933/IMAP 和 995/POP3 中勾选“Use SSL”选项, 并选择 SSL Certificate。由于上文只导入了一个 CA 认证,所以这里也只有一个选项。
回页首
安装配置好邮件服务器后,接下来可以安装邮件客户端。可以用来收发邮件以及测试新配置的邮件服务器工作是否正常。现在流行的邮件客户端有很多,本文将安装一个简单的轻量级邮件客户端 Foxmail。
第一步:安装 Foxmail。
第二步:启动 Foxmail,创建一个新的帐号,使用上面创建的帐号 tester1@example.com。
第三步:配置与邮件服务器的连接,单击创建按钮,接收服务器类型:POP3。
POP3 服务器 - 填写邮件服务器的 IP 地址,如:127.0.0.1
SMTP 服务器 - 填写邮件服务器的 IP 地址,如:127.0.0.1
POP3 的非 SSL 端口号为 110;SSL 端口号为 995
SMTP 的非 SSL 端口号为 25;SSL 端口号为 500
图 15 配置与邮件服务器连接界面
第四步:单击完成按钮。
第五步:进入 Foxmail 邮箱,发送一封测试邮件给 tester1@example.com。如果发送接收均成功,则说明邮件服务器正常工作。
回页首
打开 IBM Cognos Configuration,在配置界面左侧单击 Notification 选项,配置界面右侧将会出现 Notification 的操作区域。
SMTP Mail Server 选项 输入邮件服务器 IP+端口号,例如:127.0.0.1:25。
Account and password 选项输入用户名和密码,例如:tester1@example.com/ password
Default sender 选项输入作为默认用户的邮箱,例如:tester1@example.com
图 16. 在 Cognos Configuration 中配置与邮件服务器的连接
右键单击 Notification,选择 test,测试 Cognos 与邮件服务器之间是否连通,测试通过后,即表示邮件服务器与 Cognos BI Server 的集成已成功完成。
图 17. 在 Cognos Configuration 中测试与邮件服务器的连通
回页首
通过浏览器打开 Cognos 的欢迎页面,点击 IBM Cognos Content。在 Public Folder 中选择 Samples→ Models→ Go Sales(query)→ Report Studio Report Samples→ Table of Contents,在报表显示页面点击“Keep this version”→“Email Report”。
图 18. 发送 Table of Contents 报表
在弹出框中填写收件人地址:tester1@example.com,并勾选“Attach Report”前面的复选框,单击 OK 按钮。返回报表页面后,选择“运行报表(Run)”。
查收 Foxmail 邮箱,会发现邮件服务器已经将报表文件以附件的形式发送到指定的用户邮箱内。
图 19. 邮箱客户端接收到报表
现实场景:亚太区经理 Jim 需要每周一汇总公司旗下所有产品在亚太地区的总销售额,并且当产品'TrailChef Water Bag' 的退订单量超过 1000 时,发送预警邮件并对该产品进行重点关注。
通过浏览器打开 Cognos 的欢迎页面,点击 Manage my events,选择 sample package 'Go Sales(query)' 进入 Event Studio 主页面,在 expression 中设定事件的触发条件:[Product]='TrailChef Water Bag' and [Return quantity]>1000
图 20. 设置 Event Studio 事件触发条件
点击“I want to...”→“Add a task”→“Run a Report...”,在弹出的对话框中选择:“Sample”→“Models”→“Go Sales(query)”→“Event Studio Samples”→“Insufficient Inventory Report”。
点击“Specify the report to run”→“Options”→“Set...”→“Override the default values”.
在“Formats”里面可以选择报表输出的格式,HTML、PDF 等,在“Delivery”选项下面可以选择报表保存的方式,是否打印报表,保存所设配置。
点击“I want to...”→“Add a task”→“Send an email...”,在收件人处添加在 Mail Server 中创建的用户,如:点击“I want to...”→“Add a task”→“Send an email...”,在收件人处添加在 Mail Server 中创建的用户,如:tester1@example.com。将上文创建的报表作为附件添加至 Email 中:点击“Attach”→“Attach the report Insufficient Inventory Report”。。将上文创建的报表作为附件添加至 Email 中:点击“Attach”→“Attach the report Insufficient Inventory Report”。
图 21. 设定邮件发送任务
点击“Save as”按钮,将 Agent 命名为“Return quantity”并保存至“My Folder”。点击右上角“Launch”→“IBM Cognos Connection”→“My Folder”→“Return quantity”→ Run,Return quantity 邮箱中会收到附有报表的相关邮件。
图 22. 邮箱客户端验证
回页首
本文通过图文并茂的方式,详细介绍了 Cognos BI Server 邮件服务器的安装和配置方法,并通过一简一繁两个示例阐述 Cognos 邮件服务器的实际应用。希望能够帮助读者快速、正确地安装和配置 Cognos 邮件服务器。