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

对于邮件服务器的安装,请先参阅:

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

https://www.cnblogs.com/jacklondon/p/install_mail_server_at_windows_with_apache_james_3_3_for_intranet.html

之后进行如下操作/配置:

1.购买域名,比如 my_org.com .

2.确定可在外网使用的服务器/电脑。对于小公司/组织来说,可以租用云服务器,比如,亚马逊云,阿里云,等等。

3.更改域名DNS 中对应的邮件配置,将以下配置指向新的服务器 IP 或主机名。

type name value ttl
CNAME imap-mail xxx.compute.amazonaws.com 1 hour
CNAME smtp-mail xxx.compute.amazonaws.com 1 hour
CNAME pop-mail xxx.compute.amazonaws.com 1 hour
MX @ xxx.compute.amazonaws.com 1 hour

4.如果使用的是租借云服务器,比如 AWS, 或阿里云,需要在云服务器的 web 管理端,更改云服务器的防火墙配置,允许以下端口的访问:

邮件端口 邮件协议
110 POP3
25 SMTP
143 IMAP

5. 修改 ${JAMES_ROOT}\conf\dnsservice.xml ,配置如下:

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

6.修改 ${JAMES_ROOT}\conf\smtpserver.xml, 防止被当成免费的 SMTP 垃圾邮件发送服务器。

将注释去掉,使其生效:

<verifyIdentity>true</verifyIdentity>

<authRequired>true</authRequired>

<helloName autodetect="false">my_org.com</helloName>

以上配置的意思是,发邮件时,需要用户登录密码。防止垃圾邮件发送者,把此邮件当作垃圾邮件发送的跳板,拼命经由此邮件服务器,往其它邮件服务器发大量的垃圾邮件。然后其它邮件服务器,会将刚安装的邮件服务器拉入黑名单。

7.修改 ${JAMES_ROOT}\conf\mailetcontainer.xml ,配置如下:

将如下配置注释起来:

<!--
<mailet match="RemoteAddrNotInNetwork=127.0.0.1" class="ToProcessor">
<processor>relay-denied</processor>
<notice>550 - Requested action not taken: relaying denied</notice>
</mailet>
-->

8.停止、启动 C:\apps\james-server-app-3.3.0\bin\run.bat 。

9.尝试与外部邮箱,比如 xxx@qq.com, xxx@hotmail.com, xxx@gmail.com , 相互进行邮件发送、接收。

有可能发出的电子邮件,被放在对方的邮箱 "废件箱"子目录中。这种情况下,只能请对方收件人,手工移到"收件箱"子目录中。或者对方的邮件服务器,做一些配置,不把我们发过去的邮件,自动放到邮箱 "废件箱"里。

上一篇:Android 蓝牙开发之A2DP基本功能


下一篇:Android实践 -- Android蓝牙设置连接