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 就是启动服务器了。如果出现下面的信息则说明启动成功:
![Image 1][]
要关闭 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 改成其他端口。
![Image 1][]
同理,把下面 smtpserver 和 nntpserver 的端口也改掉。
我们修改完这个几个端口后,就可以顺利启动 James 服务了。
当然也有可能会出现这个错误,如:文件名、目录名或卷标语法不正确。如果窗口一闪而过的话又想看错误提示的话,可以在 bin 下开一个命令提示符,输入 run.bat,如果启动出错则会停止下来,不会一闪而过。这时候可以看一下错误信息,是不是有 “文件名、目录名或卷标语法不正确。 ” 这个错误信息,如果有的话还要对 config.xml 做一个修改:找到 destination 标签,可以看到这一段:
![Image 1][]
发现是不能生成文件,把这个注释掉,然后找到下面的这段把注解去掉
![Image 1][]
表示用 mysql 数据库。数据库配置加在 database-connections 标签下。需要将 MySQL-connector-Java-5.1.7-bin.jar 导入在 james\lib 下,同时修改 config.xml 配置:
![Image 1][]
password 是你 mysql 数据库的密码,还要在 mysql 中创建一个 mail 数据库,要不是会报错的。如果没有 mysql 数据库的话就去装一个,安装教程也不在这说了。
最后应该就可以启动成功了,如果还出现一些奇奇怪怪的问题,请自行 www.google.com/,小弟能力有限,补充说明一下,如果你是用 Wamp 来开启 mysql 服务的话,那么请记得在使用 mysql 之前务必先打开 Wamp,要不开启 james 服务的时候也是会失败的。
二、配置 James
默认配置启动 James 服务,只能给内网发送邮件,我们的要求是可以给外网的其他邮箱发邮件,比如 163,qq,sina 等邮箱发送邮件,那么我们必须修改 James 默认配置,接下来我们就来看看如何修改还是打开 config.xml 文件,找到 postmaster 标签:
![Image 1][]
把 localhost 该成你自己想要的邮箱域名, autodetect 和 autodetectIP 设置为 “false”,这里 localhost 假设改成 clararun.com 如果开了一个帐号 jack , 那么他的邮件地址就是 jack@clararun.com(注意两个 localhost 都要改),改完如下:
![Image 1][]
修改理由:
1.autodetect 设为 true 的话会自动侦测你的主机名,设成 false 会用你指定的 servername
2.autodetectIP 设为 true 会为你的 servername 加上 IP,然而并不需要
3.servername 改为你的 server 名字,如 clararun.com
- 在 C:\WINDOWS\System32\drivers\etc\host 文件中添加 127.0.0.1 clararun.com
实际上我把这个配置文件中所有的 localhost 都改成了我的域名;把所有的 autodetect 属性,修改为 false,autodetectIP 也设为 false;查找所有 myMailServer, 替换为域名。
然后找到下面这段将其注释掉,
![Image 1][]
然后找到下面的这段并把它的注释去掉:
![Image 1][]
找到 dnsserver 标签:
![Image 1][]
在标签下加入:
![Image 1][]
上面的三个 IP 要根据你的电脑情况来填写,第一个是你电脑的 IP 地址,也就是服务器地址,第二和第三个都是 DNS 地址,这三个地址都可以通过在 cmd 输入命令 ipconfig 中查看得到。
这样就算配置完成了,重新启动一下服务器。
三、创建邮箱账号
打开 cmd,输入 telnet localhost 4555, 会提示你输入 login id 和 password, 这个 id 和 password 可以在 config.xml 中修改,CTRL+F 查找 password,把 login 和 password 的值换掉。
![Image 1][]
创建新用户的命令是 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 功能
![Image 1][]
四、使用邮件客户端测试收发邮件
- 打开 Foxmail 客户端,进入账号管理,新建账户,如下:
![Image 1][]
- 填写 Email 地址和密码,Email 地址就是 clara@clararun.com,密码是通过命令行添加的 clara123,如下:
![Image 1][]
- 等待验证过后会来到这个页面,将 POP 服务器和 SMTP 服务器都设置为你的 IP 地址,其他均为默认:
![Image 1][]
- 点击创建,完成对账户的添加
![Image 1][]
按照上述操作,我们再添加账户 jack。
当账户都添加完成后,就可以在 clara 和 jack 之间进行邮件的收发了。
![Image 1][]
至此,邮件服务器的搭建和客户端的测试已经完成了,其实还可以用 java 编写客户端来收发邮件的,这个代码网上也有很多,直接 copy 下来,设置一些邮箱参数和内容也是可以的。要注意的是在用 javamai 发邮件的时候,连接 smtp 服务器的时候要设置一个 username, 这个 username 和发件邮箱是有点区别的,它是用来认证用户的,如果你的邮箱为 clara@clararun.com,那么你的 username 就应该是 clara,这一点要注意了,否则会连接失败。
五、linux 下配置 James
首先需要在 linux 上安装 jdk,我们使用的是 JDK7 (安装步骤略)
![Image 1][]
邮件服务器的 smtp 使用 25 端口,必须保证此端口没有被占用
![Image 1][]
如果被占用了,关闭即可,使用 ftp 工具把 james-2.3.2 的压缩包上传至服务器:
![Image 1][]
解压缩并且重命名后:
![Image 1][]
![Image 1][]
进入 bin 目录,并且运行 run.sh
![Image 1][]
哎哟,发现报错,没有这个命令
![Image 1][]
没关系,我们给 phoenix.sh 加上权限即可
![Image 1][]
然后服务器启动成功!
接下来我们就来进行 james 的相关配置:
ctrl+c 可以退出运行着的后台,然后我们进入以下目录
![Image 1][]
修改 config.xml 这个配置文件
![Image 1][]
找到并且修改这段配置
![Image 1][]
改为:
![Image 1][]
autodetct:true 表示自动侦测主机名,设成 false 会使用指定的 server name
autodetectIP:true 表示会为你的 servername 加上 ip,所以直接 false 就行
servername 就改成你所需要的域名就行
注释掉此段代码
![Image 1][]
配置 DNS Server,查看 DNS
![Image 1][]
再查看主机 dns
![Image 1][]
然后再设置如下:
![Image 1][]
找到并且注释这段代码
![Image 1][]
然后再修改 hosts
![Image 1][]
![Image 1][]
然后我们在来优化一下 James 内存使用,修改此目录下的这个文件
![Image 1][]
改成此配置即可
![Image 1][]
最后在 bin 下的 phoenix.sh 中添加如下配置
![Image 1][]
配置完后 reboot 一下
computer rebooting… …
重启完后启动 james,sh run.sh
这个时候启动完毕,james 配置成功。这个时候,我们还是需要用户的,没有用户就不能不收发邮件了
修改用户名密码,这个主要用来登录 james 进行相关操作的
![Image 1][]
修改完后保存,这个时候我们就要添加用户了
先登录连接上 james,但是发现命令不存在
![Image 1][]
那么直接安装一下即可
![Image 1][]
再次登录发现成功
![Image 1][]
james 主要提供了如下命令,看名字就知道怎么用,十分简单
![Image 1][]
按照命令添加用户
![Image 1][]
OK,至此所以配置完毕,我们使用 javamail 来测试一下吧!
转自:https://www.jianshu.com/p/36f7b67e33d6
[Image 1]:
还没有评论,来说两句吧...