windows安装运行Apache James(基于guide的版本)

下载地址

下载列表
https://james.apache.org/download.cgi

直接下载基于guide版本
https://www.apache.org/dyn/closer.lua/james/server/3.8.0/james-server-jpa-guice.zip

设置签名

解压,并切换到james-server-jpa-guice目录下,在powershellli执行

bash 复制代码
keytool -genkey -alias james -keyalg RSA -keystore conf/keystore

密码设置为:

bash 复制代码
james72laBalle

默认使用derby,如果需要切换到MYSQL数据库的话,放到后面讲

修改domainlist.xml文件

原内容

xml 复制代码
<domainlist class="org.apache.james.domainlist.jpa.JPADomainList">
   <autodetect>false</autodetect>
   <autodetectIP>false</autodetectIP>
   <defaultDomain>localhost</defaultDomain>
</domainlist>

修改为

xml 复制代码
<domainlist class="org.apache.james.domainlist.jpa.JPADomainList">
   <autodetect>false</autodetect>
   <autodetectIP>false</autodetectIP>
   <defaultDomain>bo.com</defaultDomain>
</domainlist>

修改mailetcontainer.xml文件

原内容

xml 复制代码
    <context>
        <!-- When the domain part of the postmaster mailAddress is missing, the default domain is appended.
        You can configure it to (for example) <postmaster>postmaster@myDomain.com</postmaster> -->
        <postmaster>postmaster</postmaster>
    </context>

修改为

xml 复制代码
    <context>
        <!-- When the domain part of the postmaster mailAddress is missing, the default domain is appended.
        You can configure it to (for example) <postmaster>postmaster@myDomain.com</postmaster> -->
        <postmaster>postmaster@bo.com</postmaster>
    </context>

修改pop3server.xml文件(可选)(默认是关闭的)

开启pop3协议

原内容

xml 复制代码
    <pop3server enabled="false">

修改为

xml 复制代码
    <pop3server enabled="true">

启动

在james-server-jpa-guice目录下执行

bash 复制代码
java -javaagent:james-server-jpa-app.lib/openjpa-3.2.0.jar -Dworking.directory=. -Djdk.tls.ephemeralDHKeySize=2048 -Dlogback.configurationFile=conf/logback.xml -jar james-server-jpa-app.jar

使用mysql数据库

吐槽

放到后面来讲是因为引入jdbc这块浪费了很长时间

官网推荐是使用 -cp的命令引入jdbc的jar包来启动,我捣鼓了很久都没有启动成功,一直提示找不到main方法所以放弃了-cp的方式。

bash 复制代码
java -javaagent:james-server-jpa-app.lib/openjpa-3.2.0.jar -Dworking.directory=. -Djdk.tls.ephemeralDHKeySize=2048 -Dlogback.configurationFile=conf/logback.xml -cp "james-server-jpa-app.jar:james-server-jpa-app.lib/*:jdbc-driver.jar" org.apache.james.JPAJamesServerMain

解决

修改文件

1、将mysql的jdbc的jar包放到james-server-jpa-app.lib下,并命名为jdbc.jar

2、使用工具打开james-server-jpa-app.jar文件,定位到META-INF目录下,编辑MANIFEST.MF文件

3、滚动到最下方,在Main-Class: org.apache.james.JPAJamesServerMain的上方,james-ser

ver-jpa-app.lib/awaitility-4.2.0.jar后面增加一句 james-server-jpa-app.lib/jdbc.jar

如下图

创建数据库

在数据库中创建名为james的数据库

修改 conf/james-database.properties
注释
java 复制代码
#database.driverClassName=org.apache.derby.jdbc.EmbeddedDriver
#database.url=jdbc:derby:../var/store/derby;create=true
#database.username=app
#database.password=app
#vendorAdapter.database=DERBY
添加
java 复制代码
database.driverClassName=com.mysql.cj.jdbc.Driver
database.url=jdbc:mysql://192.168.xx.xx:3306/james?zeroDateTimeBehavior=convertToNull
database.username=root
database.password=root
vendorAdapter.database=MYSQL
相关推荐
倔强的石头1067 小时前
边缘侧时序数据的选型指南:网络不稳定、数据不丢、回传可控——用 Apache IoTDB 设计可靠链路
网络·apache·iotdb
A-刘晨阳10 小时前
2026年时序数据库选型指南:从大数据视角深度解析Apache IoTDB的技术优势与实践路径
大数据·apache·时序数据库
todoitbo10 小时前
时序数据库选型指南:面向工业物联网的工程视角,以 Apache IoTDB 为例
物联网·apache·时序数据库·iotdb
枫叶丹411 小时前
时序数据库选型指南:在大数据浪潮中把握未来,为何Apache IoTDB值得关注?
大数据·数据库·apache·时序数据库·iotdb
wei_shuo13 小时前
国产时序数据库的云原生实践:Apache IoTDB 与 TimechoDB 在物联网场景的深度应用
云原生·apache·时序数据库
Aloudata1 天前
数据治理选型对比:Apache Atlas vs 商业平台在存储过程解析与自动化治理的实测分析
数据挖掘·自动化·apache·元数据·数据血缘
世界尽头与你1 天前
CVE-2017-5645_ Apache Log4j Server 反序列化命令执行漏洞
网络安全·渗透测试·log4j·apache
迎仔1 天前
03-Apache Tez 通俗指南:MapReduce 的“高速公路”升级包
大数据·apache·mapreduce
世界尽头与你1 天前
CVE-2025-55752_ Apache Tomcat 安全漏洞
java·安全·网络安全·渗透测试·tomcat·apache
HMX4041 天前
【春秋云境】CVE-2025-44137 TileServer PHP v2.0任意文件读取漏洞
apache·安全漏洞·漏洞复测