Apache James搭建内网邮件服务器

极客521 | 极客521 2014-08-21 148 阅读

大概之前两个礼拜的日子,讨论会介绍了关于了.net内网邮件服务器的搭建。所以自己也很有必要来尝试一把邮件服务器的搭建,这里选取的是james这个工具。

为什么要使用内网邮件服务器?

a.安全这里仅限个人观点。对于任何一个企业来说,必要安全保密是非常重要的。

b.不受internet的限制虽然说现在到处都是wifi,但是有一个能够自己来控制和使用的邮件服务器肯定是不错的选择。

什么是apache james?

a.一个支持多协议的企业级邮件服务器

b.开源、多平台

开源的项目意味着不存在版本的问题,减少了诸多在法律上的问题,也保证了对于平台的扩展性的保持;纯java的实现也就不会存在window和linux等系统不兼容的问题了。

最新下载地址

  1. Apache james 3.0测试版
  2. Apche james 2.3.2稳定版

本次选用2.3.2.

配置步骤

1.环境配置

a.jdk

Jdk 1.7 ,当前最好的是配置好相关的环境变量,这样就不用去每次到文件内去配置相关的java_home和jre_home了。

b.james

将下载好的zip文件解压到你喜欢的目录下

1.启动

在bin文件下找到run.bat文件

显示成功,如图

2.使用telnet工具远程到4555端口,并添加用户

.telnet localhost 4555;

.输入登录用户及密码默认为root root

.adduser cfl cfl(添加用户用户名 密码)

.adduser cfltest cfltest

添加成功,如图

2.xml配置

在文件james-2.3.1\apps\james\SAR-INF下的 config.xml 文件,需要注意的时。该文件是在启动之后才出现的。

a.邮件服务器名的配置

<span style="font-size:18px;"><postmaster>Postmaster@localhost</postmaster>
如<postmaster>Postmaster@chenfanglin.com</postmaster>
<servernames autodetect="true" autodetectIP="true">
<servername>localhost</servername>
</servernames> </span>

b.注释mailet

<span style="font-size:18px;"><!--mailet match="RemoteAddrNotInNetwork=127.0.0.1">
<processor> relay-denied </processor>
<notice>550 - Requested action not taken: relaying denied</notice>
</mailet--!> </span>

maillet类似于servlet会对邮件做一些简单的处理,这里我们不去实现这个接口

c.打开身份验证authRequired

<span style="font-size:18px;"><authRequired>true</authRequired></span>

之上配置两个客户端 cfl@chenfanglin.comcfltest@chenfanglin.com .我在自己的foxmail做了一个简单的测试

配置账户

效果

1.发送邮件

2.接收邮件

3.部分问题

在执行telnet时有时会出现telnet不是内部命令,这是因为telnet服务器没有开启,在window功能项内启用该功能即可

如图

总结

总的来说,配置过程不是很困难。当然这只是最为基础的邮件搭建,为了也是去了解这样一个比较好的开源工具。我想扩展和更多的实现才是最令人期待。

Apache James搭建内网邮件服务器的更多相关文章

  1. linux搭建内网邮件服务器

    一.配置发件服务器 1.1 根据现场IP,配置主机名 vi /etc/hosts 192.168.40.133 mail.test.com 将主机名更改为邮件服务器域名mail.test.com 1. ...

  2. Django + Apache + 树莓派 搭建内网微信公众号服务器

    其实早在微信开放公众号开发平台时就想弄一个自己的公众号服务器,奈何对web服务器搭建和开发一窍不通,只是注册了一下开发者帐号,并没有采取行动,万恶的拖延症. 前一年,开始接触python,打开了神奇世 ...

  3. bind搭建内网DNS服务器架构(主从、子域授权、DNS转发器)

    实验目的 模拟企业DNS服务架构服务器及原理 实验环境准备 实验架构图 实验设备 DNS服务器4台 主服务器master(centos8):IP_192.168.100.30, 从服务器slave(r ...

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

    电子邮件服务器,对于很多公司,都是需要的. 虽然现在很多人,使用 QQ .微信进行一对一的工作沟通,使用QQ 群.微信群进行多人沟通,但这些即时聊天工具,与电子邮件相比,仍有很多不足: a. 电子邮件 ...

  5. CentOS搭建内网NTP服务器

      在企业内部网络,不是所有的服务器都可以连接外网,需要搭建一台可以连接外网的服务器用于NTP服务器 安装环境查看 安装ntp yum -y install ntp 修改配置文件 driftfile ...

  6. Centos7搭建内网DNS服务器

      一.配置阿里云yum源 执行脚本配置阿里云的yum源,已配置yum源的可以忽略 #!/bin/bash # ******************************************** ...

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

    对于邮件服务器的安装,请先参阅: 使用 Apache James 3.3.0(开源免费) 搭建内网电子邮件服务器(基于 Windows + Amazon Corretto 8) https://www ...

  8. 持续集成(二)环境搭建篇—内网邮件server搭建

    在我们的持续构建中,项目构建中出现错误提醒.或者开发者之间的沟通交流,进度汇报的事务,都是离不开一个通信工具.那就是邮件.在我们的项目开发中假设使用第三方的邮件平台,这肯定不是最好的选择.由于第三方的 ...

  9. 云计算之路-试用Azure:搭建自己的内网DNS服务器

    之前我们写过一篇博文谈到Azure内置的内网DNS服务器不能跨Cloud Service,而我们的虚拟机部署场景恰恰需要跨多个Cloud Service,所以目前只能选择用Azure虚拟机搭建自己的内 ...

随机推荐

  1. 翻译:如何编译 Gunz 源代码

    如何编译 Gunz 源代码 本文翻译自:How to build Gunz source code 各位好,近期 Dawson 发布了 Gunz 的源代码,所以我就来做个简单的教程,来说明如何编译 G ...

  2. 从 Java 代码逆向工程生成 UML 类图和序列图

    from:http://blog.itpub.net/14780914/viewspace-588975/ 本文面向于那些软件架构师,设计师和开发人员,他们想使用 IBM® Rational® Sof ...

  3. MYSQL 多表更新 UPDATE SET like concat('%',abc,'%');

    SQL语句为:select * from table1 where `text` like CONCAT('%',(select name from table2 where id =3),'%'); ...

  4. (转载)SQLServer存储过程返回值总结

    1. 存储过程没有返回值的情况(即存储过程语句中没有return之类的语句) 用方法 int count = ExecuteNonQuery(..)执行存储过程其返回值只有两种情况 (1)假如通过查询 ...

  5. Demo学习: Cookies Demo

    Cookies Demo 浏览器Cookies的读写,最常用的就是记录用户的登录信息,在项目里做登录界面时也用到了Cookies功能. procedure TMainForm.UniButton2Cl ...

  6. SQL Server— 存在检测、建库、 建表、约束、外键、级联删除

    /******************************************************************************** *主题: SQL Server- 存 ...

  7. 2014年辛星完全解读Javascript第五节 break和continue与错误处理

    先说一下break和continue的主要用法吧,break用于跳出循环,continue用于跳过该循环中的一个迭代.简单的说,就是break直接从该语句跳出,但是continue不会跳出该循环语句, ...

  8. oracle的function和procedure返回值给shell

    本文演示两个关于如何在shell中调用oracle的function和procedure,并将返回值返回给shell. 1.首在package中创建function和procedure,脚本如下: G ...

  9. 开发之前的思考-UI结构设计

    UI结构设计遵循的一些要点 1.尽量不要让UI作为Camera的子物体 因为UI和摄像机敏感的关系,尽量不要将UI作为摄像机的子物体,避免出现一些因为透视(3D UI)等问题导致的视觉Bug. 2.尽 ...

  10. js获取当前浏览器页面高度及宽度信息的方法

    var scrollLeft = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft); var scroll ...