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

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

ruisui884个月前 (02-11)技术分析28

前言:

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)” 的相关文章

冷库存储费管理系统——货架收费版

冷库存储费管理系统——货架收费版headerfooter《冷库存储费管理系统——货架收费版》是根据冷链存储的管理进行开发的一款软件,该软件操作简单,界面简洁。区别于其他同类软件的主要特点是:按所用货架个数及存放时间收费。软件界面设计简洁、美观、其人性化的管理可以使用户轻易上手,提升服务质量,提高工作...

「干货」Vue+Element前端导入导出Excel

作者:xrkffgg转发链接:https://segmentfault.com/a/11900000189936191 前言1.1 业务场景由前台导入Excel表格,获取批量数据。根据一个数组导出Excel表格。2 实现原理2.1 引入工具库file-saver、xlsx、script-loader...

并列双缸之同步和异步

并列双缸引擎,分为同步双缸和异步双缸1 并列同步引擎即?360°曲轴?相位?,就是将一个大的缸体,分为两个小的缸体。并且它们的活塞是同上同下运行的,虽然它们的机械结构保持了一致,但他们并不是真正意义上的同步工作,因为?它们?是?异步?点火?的?,例如,如果A缸正在点火,那么B缸就处于停功状态。理论上...

杀菌灯定时芯片UV消毒灯定时芯片 杀菌灯延时开关IC 杀毒灯控制芯片

ECH211021-2632-3594消毒定时芯片一. 功能说明供电方式:2-3V电池供电。一路霍尔开关输入控制,两路电平信号同步输出:1路OUTH高电平输出、1路OUTL低电平输出(可二选一)。霍尔开关断开状态上电不工作,OUTH为低电平、OUTL为高电平。霍尔开关闭合OUTH输出高电平、OUTL...

Vue2全家桶之一:vue-cli(vue脚手架)超详细教程

都说Vue2简单上手容易,的确,看了官方文档确实觉得上手很快,除了ES6语法和webpack的配置让你感到陌生,重要的是思路的变换,以前用jq随便拿全局变量和修改dom的锤子不能用了,vue只用关心数据本身,不用再频繁繁琐的操作dom,注册事件、监听事件、取消事件。。。。(确实很烦)。vue的官方文...

前端框架 Vue 不要一开始就用脚手架~Axios 中的GET、POST请求

作为后端攻城狮,写前端代码是一种什么体验?相信不少人和 @Python大星 一样,有写过前端代码的经历。记录一下,Vue 框架开发中“啼笑皆非”的故事,非专业前端人员,该案例无 css 美化,引起不适,请见谅,如有不当之处,请指出,不甚感激!1、什么是 Axios ?Vue2.0之后,尤雨溪推荐大家...