下载地址
下载列表
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执行
keytool -genkey -alias james -keyalg RSA -keystore conf/keystore
密码设置为:
james72laBalle
默认使用derby,如果需要切换到MYSQL数据库的话,放到后面讲
修改domainlist.xml文件
原内容
<domainlist class="org.apache.james.domainlist.jpa.JPADomainList"> <autodetect>false</autodetect> <autodetectIP>false</autodetectIP> <defaultDomain>localhost</defaultDomain></domainlist>
修改为
<domainlist class="org.apache.james.domainlist.jpa.JPADomainList"> <autodetect>false</autodetect> <autodetectIP>false</autodetectIP> <defaultDomain>bo.com</defaultDomain></domainlist>
修改mailetcontainer.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@myDomain.com --><postmaster>postmaster</postmaster></context>
修改为
<context><!-- When the domain part of the postmaster mailAddress is missing, the default domain is appended.You can configure it to (for example) postmaster@myDomain.com --><postmaster>postmaster@bo.com</postmaster></context>
修改pop3server.xml文件(可选)(默认是关闭的)
开启pop3协议
原内容
<pop3server enabled="false">
修改为
<pop3server enabled="true">
启动
在james-server-jpa-guice目录下执行
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的方式。
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
注释
#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
添加
database.driverClassName=com.mysql.cj.jdbc.Driverdatabase.url=jdbc:mysql://192.168.xx.xx:3306/james" />=convertToNulldatabase.username=rootdatabase.password=rootvendorAdapter.database=MYSQL