• 使用 Apache James 3.3.0(开源免费) 搭建内网电子邮件服务器(基于 Windows + Amazon Corretto 8)


    电子邮件服务器,对于很多公司,都是需要的。

    虽然现在很多人,使用 QQ 、微信进行一对一的工作沟通,使用QQ 群、微信群进行多人沟通,但这些即时聊天工具,与电子邮件相比,仍有很多不足:

    a. 电子邮件正文内容,可以进行直接排版,修改字体名、字体大小、颜色、插入表格等,而即时聊天工具需要将排版内容放在附件中,聊天正文没有如此多的格式。

    b. 大段文字的录入,电子邮件优势明显。

    c. 过去的多次交流记录,电子邮件的搜索、归类功能(可以将某些邮件,移到同一个目录),强过聊天工具。

    d. 电子邮件的群发,回复时,可随意添加几个人新的收件人、减去几个收件人,而即时聊天工具的“聊天群”,正常情况下,只增不减,因减去了一个人,往往被别人知道、且容易让别人不爽。导致“聊天群”的成员越来越多,最后群里的某些人说话,与群里大都数人都无关。于是大多数人都选择设置其“消息免打扰”,“聊天群”失去了工作的效率。

    e. 聊天工具的即时性本质,导致很多都是快问快答,这与工作强调认真、思考的原则不符。

    当然,这不是工具的错。

    聊天工具里,别人问你一件事,你也可以想个四五个小时再答复,只是那样显得不太礼貌,且与大多数人的期望不符:即时聊天工具,就是要快问快答。

    而使用电子邮件,本就允许对方多思考一会儿再回答。

    如果决定了要搭建公司/组织的内部电子邮件服务器,可使用 Apache James(全称是 Java Apache Mail Enterprise Server)。这是一款开源免费软件,使用 Java 开发,可运行于 Windows /Linux 等大多数操作系统上。

    以下是安装配置步骤:

    1. 下载 JRE 8 .

    可使用 Amazon Corretto 8, 文件大小 46M. 下载网址为:
    https://aws.amazon.com/cn/corretto/
    https://corretto.aws/downloads/resources/8.242.08.1/amazon-corretto-8.242.08.1-windows-x64-jre.zip

    2. 解压缩 JRE 到 C:appsjre8 .也可放在其它目录。

    Java 相关程序,建议目录路径中不要包含空格

    以下文字中, ${JRE_HOME} 代指 C:appsjre8

    3. 下载 Apache James 3.3.

    不要下载 Apache James 3.4,这个版本安装配置很困难,可能是发布时打包有些问题。

    下载网址为:

    https://james.apache.org/download.cgi#Apache_James_Server
    https://archive.apache.org/dist/james/server/3.3.0/james-server-app-3.3.0-app.zip

    4. 解压缩到 C:appsjames-server-app-3.3.0。

    也可以放在其它目录。同理,建议目录路径中不要包含空格

    以下文字中, 以下 ${JAMES_ROOT} 代指 C:appsjames-server-app-3.3.0

    5.备份目录:

    ${JAMES_ROOT}in
    ${JAMES_ROOT}conf

    6.修改 ${JAMES_ROOT}insetenv.bat , 新增行:

        set JAVA_HOME=C:appsjre8
        set JAVACMD=C:appsjre8injava.exe

    7. 准备一个邮件域名,比如 my_org.com 为电子邮件域名,即 jack@my_org.com 的后半部分。

    企业内部邮箱,无需购买域名。

    8. 修改 C:WindowsSystem32driversetchosts , 增加行:

        127.0.0.1 my_org.com

    此处,

    此配置是为了避免死循环

    某些情况下,jack@my_org.com 发送一封邮件到 tom@my_org.com,可能会被邮件服务器误以为是外部的邮箱地址,然后保存邮件到本地外发队列中,以 SMTP 邮件协议发出去。然后自己的 SMTP 服务器程序又收到此邮件。形成反复。

    具体原因,可能是邮件服务器的具体实现问题,也可能是电子邮件服务器与 DNS 服务器相互配合的配置问题。

    9. 修改 ${JAMES_ROOT}confdnsservice.xml ,配置如下:

       <servers>
            <server>127.0.0.1</server>
       </servers>
    
       <autodiscover>false</autodiscover>
       <authoritative>false</authoritative>

    意思是使用本地的 DNS 服务。一般来说,邮件服务器上,不同时安装 DNS 服务。

    这种配置,就是说,即使  tom@my_org.com 发邮件到 help@other.com, 邮件服务器也不去询问公司内部的 DNS 服务器,other.com 对应的 IP 是多少,直接当成僵尸邮件,简单、直接、不废话。

    10.修改 ${JAMES_ROOT}confdomainlist.xml ,配置如下:

        <domainlist class="org.apache.james.domainlist.jpa.JPADomainList">
            <autodetect>false</autodetect>
            <autodetectIP>false</autodetectIP>
            <defaultDomain>my_org.com</defaultDomain>
        </domainlist>

    11.修改 ${JAMES_ROOT}confmailetcontainer.xml ,配置如下:

        <context>
            <postmaster>my_org.com</postmaster>
        </context>


    12. 开启带管理员权限的 DOS 窗口,启动 JAMES run.bat.

        cd C:appsjames-server-app-3.3.0bin
        c:
        run.bat

    得到输出 Apache James Server is successfully started

    :

    ...
    INFO  13:21:50,959 | org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer | IMAP Service connection backlog is: 200
    INFO  13:21:51,000 | org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer | Init IMAP Service done
    INFO  13:21:51,158 | org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer | Manage Sieve Service disabled by configuration
    INFO  13:21:55,518 | org.apache.james.app.spring.JamesAppSpringMain | Apache James Server is successfully started in 34397 milliseconds.

    13. 开启新的 DOS 窗口,新建邮件服务器的“域”。

    此处可能会报错:域已经存在。可忽略此报错。

        cd C:appsjames-server-app-3.3.0bin
        c:
        james-cli.bat -h 127.0.0.1 -p 9999 adddomain my_org.com 

    14. 新建电子邮件用户及电子邮件地址:

        james-cli.bat -h 127.0.0.1 -p 9999 AddUser test1@my_org.com Password12345

    可以执行多次,以添加不同的用户账号及电子邮件。

    Apache James 系统内部,区分用户账号、邮箱地址,是不同的概念。

    一般使用用户,可以当成电子邮件就是用户账号。

    15. 更改 Windows 防火墙设置的“入站规则”,允许以下端口的访问:

    110 pop3
    25 smtp
    143 imap


    16. 使用 james.bat 安装成 Windows 服务。

    配置开机自行启动。

    配置对应的运行账号。

    Windows 系统里的邮件服务器,通常使用带网络权限的系统账号,或用户账号。一般应避免使用 Windows 系统管理员用户账号。

    17. 各用户使用电子邮件客户端工具软件,比如 Mozilla Thunderbird , 添加 IMAP 邮件账号,连接到此邮件服务器。

    如此,同一个人,可使用多台电脑,查看电子邮件。邮件保存在邮件服务器上。

    如果用户在电子邮件客户端工具软件里配置使用 POP3 邮件协议,则邮件会收到用户电脑上、并从邮件服务器上删除。

    在电子邮件客户端工具软件上,可选择 IMAP 、POP3 邮件协议。

  • 相关阅读:
    linux 校时命令
    vba_按钮
    ASP.NET MVC3快速入门——第一节、概述
    ASP.NET MVC3快速入门——第二节、添加一个控制器
    ASP.NET MVC3快速入门——第三节、添加一个视图
    ASP.NET程序中常用的三十三种代码
    LINQ定义的标准查询操作符
    ADO.NET
    java编程 反射类的使用
    Struts2 源代码学习 (一)
  • 原文地址:https://www.cnblogs.com/jacklondon/p/install_mail_server_at_windows_with_apache_james_3_3_for_intranet.html
Copyright © 2020-2023  润新知