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

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

经验文章nimo972025-03-03 11:19:399A+A-

前言:

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邮件服务器以其高度可扩展性、安全性、高性能和易于管理的特点,为企业级用户提供了高效且稳定的邮件服务解决方案。

点击这里复制本文地址 以上内容由nimo97整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

尼墨宝库 © All Rights Reserved.  蜀ICP备2024111239号-7