由于公司业务需要,需要搭建自己的邮件服务器。选择了很多版本后,最终选择了詹姆斯,并分为两个詹姆斯版本。下面介绍版本3和版本2的安装、配置和使用,以及外网部署的配置。参考了别人的博客,研究了詹姆斯官网近三天,终于把两个版本都测试成功了。
1:准备工作(配置机器java环境)(博主所在公司目前使用的是2、3版数据存储数据结构,对于公司业务来说不方便)
准备的工具: ①:局域网配置:James的安装包,可以让Linux虚拟机上网的那种(方便测试向外设发送邮件)。虚拟机域名配置(vim /etc/hosts)、mysql数据库。 mysql连接jar包(数据库中存储邮箱信息)
②:在线配置:james安装包、可在线访问的域名、域名解析、mysql数据库。 mysql对应版本的连接jar包
特别提醒:外网服务器配置完成后,可以在该域名内收发邮件。但如果你想向其他公司(QQ或)发送电子邮件,国内运营商会禁用25端口发送电子邮件。需要改成465端口(不需要加密),但是改成465端口后,接收邮件就会出现问题,因为大家默认都是使用25端口来收发邮件的。因此,这是根据公司业务需求的合理选择。如果只是用自己的域名搭建一个邮件服务器,James完全满足要求。
2:发送邮件的流程
三:.3.2 局域网配置
1:下载安装包
2:我的虚拟机的域名:
3:使用ftp工具将安装包上传到服务器,解压,进入bin目录。
如果您的脚本无法运行,只需 chmod 777 *.sh。
其中.sh是可以配置jvm相关参数的脚本。打开vim.sh,找到如下图所示
4:运行./run.sh启动邮件服务版本。
如果无法启动,用lsof -i:25检查端口是否被占用,看25是否被占用,如果查杀改进过程显示如下效果,则说明已经启动成功。
启动成功后会出现如下目录结构。我们需要配置的是SAR-INF/目录下的.xml。 (注意文件路径的位置)
5:修改配置,让其连接mysql数据库(也可以导入jar包配置地址)
导入jar包后,配置下面的.xml。包含数据库连接、pop3配置、smtp配置等相关信息。
我使用工具连接到虚拟机并打开文本进行修改。
mysql配置
com.mysql.jdbc.Driver
jdbc:mysql://192.168.0.102:3306/mail?useUnicode=true&characterEncoding=UTF-8&useSSL=false
root
123456
true
20
6:配置数据库连接后,需要配置james文件存储方式。 .3.2 默认情况下,采用文件方式存储邮件信息和邮件用户信息。 James以文件的形式将用户信息存储在他的 james-2.3.2\apps\james\var\users 路径中
Email数据存储选择,根据xml,提供了3种数据存储方式:
参考连接:
①.file://文件存储
②.db://数据库存储
③.://数据文件存储
全部修改为数据库存储
发现这个标签内部管理存储介质,如下:
在 .xml 中找到
注释掉它并添加如下配置
还是.xml,找到的配置如下:
注释掉文件中存储的内容,取消注释数据库中存储的内容。结果如下图所示。
找到=127.0.0.1并注释掉这段代码
至此,存储介质切换完成。在数据库中新建一个数据库mail(数据库名不需要是mail),
重新启动 James,再次查看邮件数据库,并创建三个新表 users、inbox 和 spool。 users表存储邮件服务器的用户信息。表收件箱存储收件箱的内容。假脱机表存储尚未查看的电子邮件。一旦邮件被查看,它将从此表中删除并存储在收件箱中。
至此,詹姆斯的数据存储形式转变已经成功。我们来配置pop3和smtp相关的内容。
①:更改为自己虚拟机的域名以及邮件管理员的配置
②这里的配置如下
dns服务设置如下图
③:配置smtp
25
真的
0.0.0.0
真的
这里pop3的设置是一样的,smtp也是如此。配置现已完成。
7:我们来测试一下本地发送邮件的效果。打开新窗口,输入4555。然后输入刚才输入的root,最后输入密码。
① 启动 james 添加新用户。您可以输入help来查看该命令。下面是向邮件服务器添加两个用户。
同时mysql数据库中有两个用户,然后测试使用火狐客户端登录邮箱测试发送邮件(如果发现无法登录,可以尝试关闭防火墙)
点击手动设置(这个火狐其实有创建账户的歧义,其实就是登录邮箱地址)
同时可以发送到外网。前提是你的虚拟机可以连接互联网,同时(如QQ邮箱)必须设置白名单域名,否则会进垃圾箱。
该数据库还包含电子邮件信息
至此,James LAN的邮件配置完成。功能是可以给其他邮箱发送邮件,自己的服务器也可以互相接收邮件。缺乏接受外部邮件的能力。四:.3.2外网的配置主要是域名解析的配置。
1:域名配置解析
2:将邮件服务器移至域名指向的IP服务器上,修改.xml中的域名(替换为你的域名),并修改数据库配置。
3:启动项目,用同样的方法添加用户。 4555 相同的操作。 (启动邮件时:./run.sh & exit 继续运行),或者打开一个新的shell窗口来添加操作。
4:使用QQ邮箱测试。发送完成后,在火狐客户端点击拉取按钮即可拉取邮箱信息。
5:打开火狐客户端邮箱,点击接收按钮
我的电子邮件回复是由于计算机问题。正常情况下是可以回复成功的。 (关于这部电影的这篇文章可以忽略)
至此,3.2接收外网邮件的功能已经顺利完成。五:.2.0邮箱的内外网配置(先记录内网配置,再记录外网配置)
1:同样的方法下载安装包,上传到服务器,配置java环境。由于是zip包,所以所有unzip命令都需要安装在服务器上。
安装包可以到我的下载
版本2和版本2的区别是配置文件分开了,版本3更完整。同时数据库的表名也发生了变化,版本3的默认页码文件存储信息。
下面是各个配置文件的说明
配置其实是一样的。找到对应的节点,按照2.3.2的配置方法进行配置。
1:.xml
192.168.0.1
114.114.114.114
错误的
错误的
50000
2:.xml
3:.xml
几个重要的点是 =="false" 必须设置为 false 并且必须打开。如上图所示。
pop3也有相同的配置。
smtp.xml设置比较重要
4:数据库配置
5:.xml
注释掉下面的代码
6:.xml
7:.xml:(一定要修改存储方式如下)修改为管理员的邮箱地址,可以是@。如果同时存在文件存储(file://)和数据库存储(db://),默认会注释掉文件存储,释放数据库存储;如果只有文件存储,则不会释放。如下图所示:(转载自)
至此,2.0内网基本配置完成。是时候测试一下了。开始詹姆斯.并添加用户并发送电子邮件。
8:测试发送邮件:启动后,数据库中有表。出现如下信息,说明启动成功(忽略中间的错误过程,外网不存在。)
进入bin目录,.添加新用户
命令是:sh james-cli.sh -h -p 9999
sh 詹姆斯-cli.sh -h -p 9999
数据库中还有两个用户。
局域网内的用户发送电子邮件进行测试。当然,您也可以发送到QQ邮箱。由于电脑问题,我无法在这里进行测试。如果您有兴趣,可以测试一下。
六:.2.0邮件的外网配置
1:将.2.0安装包放入域名对应的服务器中并启动。
1:同2.3.2版本,按照内网的修改方法修改对应的数据库。配置域名解析。各种服务的域名等
2:使用-rn查看已安装的邮件服务器的域名服务器地址的配置。
3:直接测试外网邮件服务器。
外网邮件服务启动成功
我们来测试一下使用QQ发送邮件的过程。
后台打印日志
登录火狐客户端,点击接收按钮,邮件已到达。
七:詹姆斯电子邮件信息的存储
.3.2 新邮箱存储在收件箱表中,详细信息如下图
只要找到一个并解码它即可。发现的就是这个内容。具体的表结构大家可以仔细研究一下。
感谢您的支持。写作能力有限。如果您按照本文未能成功搭建服务,请参考其他资料、官方文档等。
扫一扫在手机端查看
-
Tags : centos7部署james server
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。