ApacheJames配置超详细攻略

转自:https://www.jianshu.com/p/36f7b67e33d6

一、Win10 下配置

什么是 apache James?

Java Apache Mail Enterprise Server - 通常称为 James- 是 Apache 组构建的可移植、安全和 100% 纯 Java 企业邮件服务器。但是,由于它的可插拔协议体系结构和 梅莱用于电子邮件的基础设施,就像 servlet 对 Web 服务器所做的一样。自从 DARPA 资助最终成为互联网的早期,电子邮件服务器就一直存在,但是 James 为通常被称为因特网第一个杀手的应用提供了新的可能性。

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

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

本次选用  james-2.3.2.1 版本。

下载之后直接解压,打开 bin 文件夹,运行里面的 run.bat 就是启动服务器了。如果出现下面的信息则说明启动成功:

要关闭 James 服务,请使用 Ctrl + C

注意:启动前请确保您的 JDK 环境变量如 JAVA_HOME 等已经设置好;James 启动时,其 SMTP 服务默认在 25 端口启动,POP3 服务默认在 110 端口启动, NNTP 服务默认在 119 端口启动,请确保这些端口未被占用。如果这几个端口已经占用的话,打开 run.bat 是会一闪而过的,请在 james 的文件路径 apps/james/SAR-INF 下打开 config.xml 文件,这个文件是服务器的配置文件,用 notepad++ 或 editplus 等编辑器打开。CTRL+F 找到 pop3server 这个标签:把 110 改成其他端口。

同理,把下面 smtpserver 和 nntpserver 的端口也改掉。

我们修改完这个几个端口后,就可以顺利启动 James 服务了。

当然也有可能会出现这个错误,如:文件名、目录名或卷标语法不正确。如果窗口一闪而过的话又想看错误提示的话,可以在 bin 下开一个命令提示符,输入 run.bat,如果启动出错则会停止下来,不会一闪而过。这时候可以看一下错误信息,是不是有 “文件名、目录名或卷标语法不正确。 ” 这个错误信息,如果有的话还要对 config.xml 做一个修改:找到 destination 标签,可以看到这一段:

发现是不能生成文件,把这个注释掉,然后找到下面的这段把注解去掉

表示用 mysql 数据库。数据库配置加在 database-connections 标签下。需要将 MySQL-connector-Java-5.1.7-bin.jar 导入在 james\lib 下,同时修改 config.xml 配置:

password 是你 mysql 数据库的密码,还要在 mysql 中创建一个 mail 数据库,要不是会报错的。如果没有 mysql 数据库的话就去装一个,安装教程也不在这说了。

最后应该就可以启动成功了,如果还出现一些奇奇怪怪的问题,请自行 www.google.com/,小弟能力有限,补充说明一下,如果你是用 Wamp 来开启 mysql 服务的话,那么请记得在使用 mysql 之前务必先打开 Wamp,要不开启 james 服务的时候也是会失败的。

二、配置 James

默认配置启动 James 服务,只能给内网发送邮件,我们的要求是可以给外网的其他邮箱发邮件,比如 163,qq,sina 等邮箱发送邮件,那么我们必须修改 James 默认配置,接下来我们就来看看如何修改还是打开 config.xml 文件,找到 postmaster 标签:

把 localhost 该成你自己想要的邮箱域名, autodetect 和 autodetectIP 设置为 “false”,这里 localhost 假设改成 clararun.com 如果开了一个帐号 jack , 那么他的邮件地址就是 jack@clararun.com(注意两个 localhost 都要改),改完如下:

修改理由:

1.autodetect 设为 true 的话会自动侦测你的主机名,设成 false 会用你指定的 servername

2.autodetectIP 设为 true 会为你的 servername 加上 IP,然而并不需要

3.servername 改为你的 server 名字,如 clararun.com

4. 在 C:\WINDOWS\System32\drivers\etc\host 文件中添加 127.0.0.1 clararun.com

实际上我把这个配置文件中所有的 localhost 都改成了我的域名;把所有的 autodetect 属性,修改为 false,autodetectIP 也设为 false;查找所有 myMailServer, 替换为域名。

然后找到下面这段将其注释掉,

然后找到下面的这段并把它的注释去掉:

找到 dnsserver 标签:

在标签下加入:

上面的三个 IP 要根据你的电脑情况来填写,第一个是你电脑的 IP 地址,也就是服务器地址,第二和第三个都是 DNS 地址,这三个地址都可以通过在 cmd 输入命令 ipconfig 中查看得到。

这样就算配置完成了,重新启动一下服务器。

三、创建邮箱账号

打开 cmd,输入 telnet localhost 4555, 会提示你输入 login id 和 password, 这个 id 和 password 可以在 config.xml 中修改,CTRL+F 查找 password,把 login 和 password 的值换掉。

创建新用户的命令是 adduser username password

例如 adduser clara clara123

adduser jack jack123

输入命令 listusers 可以查看所有用户。

下面是一些命令的含义:

命令含义

help----------------> 获取帮助

listusers----------------> 显示所有用户

countusers----------------> 显示当前用户数量

adduser [username] [password]----------------> 添加用户

verify [username---------------->] 验证用户是否存在

deluser [username]----------------> 删除用户

setpassword [username] [password]-------------------------------->> 为指定用户设置密码

setalias [user] [alias]----------------> 为用户设置别名

showalias [username]----------------> 显示用户别名

unsetalias [user]----------------> 取消别名

setforwarding [username] [emailaddress]----------------> 将指定用户的 email 转发到指定的 email 地址

showforwarding [username]----------------> 显示指定用户转发的 email 地址

unsetforwarding [username]----------------> 取消转发

user [repositoryname]----------------> 改变用户存储的仓库

shutdown----------------> 关闭当前虚拟机

quit----------------> 关闭连接

这里要注意的是,命令行下输入命令要小心点,因为输错了就很不好撤回。

注意:在执行 telnet 时有时会出现 telnet 不是内部命令,这是因为 telnet 服务器没有开启,在 window 功能项内启用该功能即可:控制面板 ---> 程序 ---> 启用或关闭 Windows 功能

四、使用邮件客户端测试收发邮件

1. 打开 Foxmail 客户端,进入账号管理,新建账户,如下:

2. 填写 Email 地址和密码,Email 地址就是 clara@clararun.com,密码是通过命令行添加的 clara123,如下:

3. 等待验证过后会来到这个页面,将 POP 服务器和 SMTP 服务器都设置为你的 IP 地址,其他均为默认:

4. 点击创建,完成对账户的添加

按照上述操作,我们再添加账户 jack。

当账户都添加完成后,就可以在 clara 和 jack 之间进行邮件的收发了。

至此,邮件服务器的搭建和客户端的测试已经完成了,其实还可以用 java 编写客户端来收发邮件的,这个代码网上也有很多,直接 copy 下来,设置一些邮箱参数和内容也是可以的。要注意的是在用 javamai 发邮件的时候,连接 smtp 服务器的时候要设置一个 username, 这个 username 和发件邮箱是有点区别的,它是用来认证用户的,如果你的邮箱为 clara@clararun.com,那么你的 username 就应该是 clara,这一点要注意了,否则会连接失败。

五、linux 下配置 James

首先需要在 linux 上安装 jdk,我们使用的是 JDK7 (安装步骤略)

邮件服务器的 smtp 使用 25 端口,必须保证此端口没有被占用

如果被占用了,关闭即可,使用 ftp 工具把 james-2.3.2 的压缩包上传至服务器:

解压缩并且重命名后:

进入 bin 目录,并且运行 run.sh

哎哟,发现报错,没有这个命令

没关系,我们给 phoenix.sh 加上权限即可

然后服务器启动成功!

接下来我们就来进行 james 的相关配置:

ctrl+c 可以退出运行着的后台,然后我们进入以下目录

修改 config.xml 这个配置文件

找到并且修改这段配置

改为:

autodetct:true 表示自动侦测主机名,设成 false 会使用指定的 server name

autodetectIP:true 表示会为你的 servername 加上 ip,所以直接 false 就行

servername 就改成你所需要的域名就行

注释掉此段代码

配置 DNS Server,查看 DNS

再查看主机 dns

然后再设置如下:

找到并且注释这段代码

然后再修改 hosts

然后我们在来优化一下 James 内存使用,修改此目录下的这个文件

改成此配置即可

最后在 bin 下的 phoenix.sh 中添加如下配置

配置完后 reboot 一下

computer rebooting... ...

重启完后启动 james,sh run.sh

这个时候启动完毕,james 配置成功。这个时候,我们还是需要用户的,没有用户就不能不收发邮件了

修改用户名密码,这个主要用来登录 james 进行相关操作的     

修改完后保存,这个时候我们就要添加用户了

先登录连接上 james,但是发现命令不存在

那么直接安装一下即可

再次登录发现成功

james 主要提供了如下命令,看名字就知道怎么用,十分简单

按照命令添加用户

OK,至此所以配置完毕,我们使用 javamail 来测试一下吧!

转自:https://www.jianshu.com/p/36f7b67e33d6

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值