当前位置:首页 > 技术分析 > 正文内容

使用centos部署Java邮件服务器(james)

ruisui883个月前 (02-11)技术分析20

前言:

James邮件服务器,即Apache James,是Apache组织旗下的一个子项目,是一款完全基于Java技术构建的开源邮件服务器软件,全面支持SMTP(简单邮件传输协议)、POP3(邮局协议版本3)以及IMAP(Internet消息访问协议)等标准邮件协议,能够为企业级用户提供高效且稳定的邮件服务解决方案。本次使用centos7,James版本(
james-server-spring-app-3.8.1),jdk11,mysql

一:下载安装

James官方下载:Apache James Project – Download

JDK11官方文档:Java Archive Downloads - Java SE 11 | Oracle 中国



  • 安装jdk
1.删除系统自带的jdk版本
#查找
rpm -qa |grep java
rpm -qa | grep jdk

#删除
rpm -e --nodeps  将上面查出来的放这里进行删除

2.安装jdk11
tar -xvf jdk-11.0.24_linux-x64_bin.tar.gz

3.修改/etc/profile文件
vim /etc/profile

#追加内容:(我这里是解压在/home目录,自行修改自己的解压目录)
export JAVA_HOME=/home/jdk-11.0.24
export PATH=$PATH:$JAVA_HOME/bin

4.让配置生效
source /etc/profile

5.查询jdk版本,看看是否安装成功
jave -version
  • 解压James
unzip james-server-spring-app-3.8.1-app.zip

二:修改配置

进入
james-server-spring-app-3.8.1/conf/目录

  • 1.修改domainlist.xml文件

  	
   false
   false
	
   develop.com
	
   
       develop1.com
   


  • 2.修改james-database.properties文件配置数据库

数据库表结构,启动程序会会自动创建,这里配置数据库信息就行。

a.将mysql驱动包放入
james-server-spring-app-3.8.1/conf/lib/目录

b.修改
/james-server-spring-app-3.8.1/conf/目录下james-database.properties文件

database.driverClassName=com.mysql.cj.jdbc.Driver
database.url=jdbc:mysql://192.168.160.128:3303/james?rewriteBatchedStatements=true&useUnicode=true&characterEncoding=utf8
database.username=root
database.password=123456

# Supported adapters are:
# DB2, DERBY, H2, HSQL, INFORMIX, MYSQL, ORACLE, POSTGRESQL, SQL_SERVER, SYBASE 
vendorAdapter.database=MYSQL
openjpa.streaming=false
datasource.validationQuery=select 1
  • 3.修改mailetcontainer.xml文件

a.进入
/home/james-server-spring-app-3.8.1/conf/

#localhost修改成上面配置的域名(develop.com)

    
    postmaster@develop.com


b.将文件存储替换成数据库存储


  
  	
    
    
  
    	
    db://maildb/deadletter/error


c.注释RemoteAddrNotInNetwork

  • 4.修改smtpserver.xml文件

develop.com

authRequired、verifyldentity设置为true能够防止此邮件服务被当做邮件中继服务,防止跨账号邮件行为,避免被域名信誉机构拉入黑名单,影响或无法正常发送邮件。

 true 
 true


到这里重启就可以了

1.进入james-server-spring-app-3.8.1/bin目录
执行 ./run.sh 启动

启动自动创建表:



最后配置一下域名映射:


这里使用ssl/tsl协议就继续往下配置

三:ssl/tsl协议

  • 1.下载sunjce_provider.jar
wget http://www.stonelu.com/public/sunjce_provider.jar -P  james-server-spring-app-3.8.1/lib

或者将jar包上传放到 james-server-spring-app-3.8.1/lib


  • 2.生成keystore:
#进入james-server-spring-app-3.8.1/conf目录执行,会生成keystore文件
#输入命令之后,设置密钥我这里这是123456,其它回车就行,到最后输入y
keytool -genkey -alias james -keyalg RSA -keystore keystore


  • 3.修改smtpserver.xml文件
     0.0.0.0:465

     200

     
     
         
         file://conf/keystore
         PKCS12
         123456
         org.bouncycastle.jce.provider.BouncyCastleProvider
         
         SunX509

         
         
         
         
         
     


  • 4.修改pop3server.xml文件
 pop3server

       
       
       
       0.0.0.0:995

       200

       
       
           
           file://conf/keystore
           PKCS12
           123456
           org.bouncycastle.jce.provider.BouncyCastleProvider

           
           
           
           
           
       


  • 5.修改imapserver.xml文件
 imapserver

       
       
       
       
       
       0.0.0.0:993

       200

       
       
           
           file://conf/keystore
           PKCS12
           123456
           org.bouncycastle.jce.provider.BouncyCastleProvider

           
           
           
           
           
       

以上配置完成重启。

四:演示

  • 1.添加用户

在bin目录下使用命令创建qzh@develop.com,test@develop1.com, 密码都是123456

sh james-cli.sh -h localhost  -p 9999 adduser qzh@develop.com 123456
sh james-cli.sh -h localhost  -p 9999 adduser test@develop1.com 123456



  • 2.windown安装foxmail工具

Foxmail官网下载地址:Foxmail for Windows

安装完成之后,windown配置一下hosts
进入C:\Windows\System32\drivers\etc\hosts文件(这里ip是我虚拟机的ip)
192.168.160.128   develop.com
  • 3.测试

a.选择其它邮箱


b.登录用户

手动设置


这里登录qzh@develop.com账号,跟密码123456【SSL这里两个都需要勾上】

c.qzh发送邮件


d.test收到邮件


e.test回复邮件




f:qzh收到test回复邮件



综上所述,Apache James邮件服务器以其高度可扩展性、安全性、高性能和易于管理的特点,为企业级用户提供了高效且稳定的邮件服务解决方案。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/1876.html

标签: centos java
分享给朋友:

“使用centos部署Java邮件服务器(james)” 的相关文章

发行版Vanilla OS 2发布稳定版:彻底重写、改变使用Linux的方式

Vanilla OS 是去年崭露头角的 Linux 发行版,最初的 1.0 版本基于 Ubuntu 构建 —— 亮点之一是系统核心“不可变”。后来改用 Debian 测试分支 (Debian Sid),免费且开源,默认桌面环境是 GNOME。什么是不可变 Linux 发行版?不可变发行版确保操作系统...

「图解」父子组件通过 props 进行数据交互的方法

1.组件化开发,经常有这样的一个场景,就是父组件通过 Ajax 获取数据,传递给子组件,如何通过 props 进行数据交互来实现,便是本图解的重点。2.代码的结构3.具体代码 ①在父组件 data 中存放数据 ms。 ②将父组件 data 中的数据 ms 绑定到子组件中的属性 ms。 ③子组件在 p...

79.idea中git合并分支操作分享

文章目录前言1.fetch的操作2.合并最新代码到当前的开发分支3.解决冲突4.分支合并:5.完成代码合并总结前言git的操作在日产的工作中也非常重要,团队化的代码管理,每次如果代码被别人覆盖或者自己的代码不能提交到服务器那是灾难性的结果,本篇进行一篇分享来总结下idea中git的操作帮助java开...

Gitlab概览

Gitlab是开源的基于Git的仓库管理系统,也可以管理软件开发的整个生命周期,是项目管理和代码托管平台,支撑着整个DevOps的生命周期。Gitlab很容易选为GitHub,作为公司私有库管理的工具。我们可以用Gitlab Workflow来协同整个团队的软件开发管理过程。软件开发阶段Gitlab...

三维家-系统快捷键使用

快键件使用:通过简单的键盘+鼠标操作,快速完成搭配。1.基础快捷键1) Ctrl+V:复制选中对象第一步:鼠标左击物体,按下Ctrl+V 即可复制选中对象。2) Ctrl+G:组合多选对象第一步:按住Ctrl键多选对象--按住Ctrl+G--确定。3) Ctrl+B:解组选中对象第一步:左击选中对象...

别让“跑焦”毁所有!仅需这一项设置,即可显著改善镜头对焦精度

我常常会收到一些摄影爱好者的私信,也一直在努力的帮助大家解决更多摄影中常见问题。在我收到的所有问题中。有一个问题是最麻烦的,那就是“为什么我的图像看起来模糊?”。这个问题几乎每个人都遇到过,究其原因可以说是多种多样相对复杂。起初我一直认为是对焦问题所导致,也就有了我之前所写的“后按对焦”以及“对焦模...