ApacheJames配置超详细攻略

ゝ一纸荒年。 2021-09-28 20:12 527阅读 0赞

转自: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

  1. 在 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][]

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

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

![Image 1][]

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

![Image 1][]

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

![Image 1][]

  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]:

发表评论

表情:
评论列表 (有 0 条评论,527人围观)

还没有评论,来说两句吧...

相关阅读

    相关 SSL 证书签发详细

    背景介绍 在实际的业务场景中,大部分web应用对用户提供的访问站点都是基于https协议的url,这样一方面可以很好的规避后期服务器ip地址更换 导致终端用户需要重新更新

    相关 推箱子关卡详细

     推箱子部分关卡详细攻略 (ZT)   第001關的解法如下:   842666842448862426224868866248422   第002關的解法如