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

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

ruisui882个月前 (02-11)技术分析19

前言:

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

程序员开发必会之git常用命令,git配置、拉取、提交、分支管理

整理日常开发过程中经常使用的git命令![送心]git配置SSH刚进入项目开发中,我们首先需要配置git的config、配置SSH方式拉取代码,以后就免输入账号密码了!# 按顺序执行 git config --global user.name "自己的账号" git config -...

K8s里我的容器到底用了多少内存?

作者:frostchen导语 Linux下开发者习惯在物理机或者虚拟机环境下使用top和free等命令查看机器和进程的内存使用量,近年来越来越多的应用服务完成了微服务容器化改造,过去查看、监控和定位内存使用量的方法似乎时常不太奏效。如果你的应用程序刚刚迁移到K8s中,经常被诸如以下问题所困扰:容器的...

10款超牛Vim插件,爱不释手了

我是一个忠实的Vim编辑器用户,从事开发工作多年,我一直都非常喜欢使用Vim。轻量、便捷,而且,熟悉了Vim相关的快捷键之后,效率能够成倍的提升。除了这些之外,Vim像很多知名的IDE、编辑器一样,也支持插件配置,通过这些插件,可以实现更多高级、高效的操作。今天,就来给大家分享10个我特别喜欢的Vi...

深度解析!AI智能体在To B领域应用,汽车售后服务落地全攻略

在汽车售后服务领域,AI智能体的应用正带来一场效率和专业度的革命。本文深度解析了一个AI智能体在To B领域的实际应用案例,介绍了AI智能体如何通过提升服务顾问和维修技师的专业度及维修效率,优化汽车售后服务流程。上周我分享了AI智能体+AI小程序To C的AI应用场景《1000%增长!我仅用一个小时...

「干货」FPGA设计中深度约束技巧及调试经验总结

今天跟大家分享的内容很重要,也是我们调试FPGA经验的总结。随着FPGA对时序和性能的要求越来越高,高频率、大位宽的设计越来越多。在调试这些FPGA样机时,需要从写代码时就要小心谨慎,否则写出来的代码可能无法满足时序要求。另外,最近跟网友聊天时,有谈到公众号寿命的问题,我觉得网络交换FPGA公众号应...

《暗黑破坏神 2:重制版》PC 版 2.3 版本发布,支持英伟达 DLSS

IT之家 12 月 3 日消息,暴雪为《暗黑破坏神 2:重制版》PC 版发布了更新 2.3 版本,添加了“离线难度缩放”滑块(玩家可以在单人游戏时增加挑战和奖励的级别)、多项辅助功能和用户界面改进,以及英伟达 DLSS 支持。玩法改进:玩家现在可以在离线游戏的选项菜单中使用“游戏难度等级”,它提供与...