ConfluenceWiki(7.4.6)配置邮件服务器

本文介绍了使用Java配置邮件服务器的方法。包括进入后台配置服务器主机名,可选择输入SMTP主机地址或JNDI地址;在JNDI位置输入jndi名;配置server.xml;移动mail相关的jar包。还分享了配置过程中遇到的问题及解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、进入后台-》邮件服务器

服务器主机名配置有两种方式

输入SMTP主机地址或者javax.mail.Session所用的JNDI地址

第一种方式比较简单,能发就是能发,不能发的话就只能通过JNDI的方式了,不赘述第一种了,只介绍JNDI的方式。至于为啥选择JNDI的方式,因为直接配置host的方式不能用啊(废话了_-_)

2、在JNDI的位置输入jndi名

输入你自己的 java:comp/env/mail/ExampleSMTPServer

mail/ExampleSMTPServer是你在第三步server.xml配置的Resource名

3、配置server.xml

位置在安装目录{$CONFLUENCE_INSTALL}/conf/server.xml

                     <!--邮箱配置-start-->
                     <!--name要配置在后台邮件服务器JNDI的位置-->
                    <Resource name="mail/ExampleSMTPServer"
                        auth="Container"
                        type="javax.mail.Session"
                        <!--邮箱主机地址1-->
                        mail.smtp.host="xxx.xx.xx.xx.xx"
                        <!--邮箱端口-->
                        mail.smtp.port="465"
                        mail.smtp.auth="true"
                        <!--发件箱地址-->
                        mail.smtp.user="test@example.cn"
                        <!--发件箱密码-->
                        password="passwd"
                        mail.smtp.starttls.enable="true"
                        mail.smtp.starttls.required="true"
                        mail.smtp.ssl.enable="true"
                        <!--邮箱主机地址1,和上面一致-->
                        mail.smtp.ssl.trust="xxx.xx.xx.xx.xx"
                        mail.smtp.socketFactory.class="javax.net.ssl.SSLSocketFactory"
                        />
                     <!--邮箱配置-end-->

mail.smtp.starttls.enable="true"
mail.smtp.starttls.required="true"
mail.smtp.ssl.trust="xxx.xx.xx.xx.xxx
这几个配置,看邮箱服务器,不需要可不配置

4、移动mail相关的jar包

我是在报了[atlassian.confluence.jmx.JmxSMTPMailServer] getSession Mail server at location [java:comp/env/mail/UnicomSMTPServer] is not of required type javax.mail.Session,这种错误后,参考了这个jira的邮箱服务器配置问题 Configuring an SMTP mail server to send notifications | Administering Jira applications Data Center and Server 9.7 | Atlassian Documentation

看关键的地方

 说的是把javax.mail-x.y.z.jarjavax.mail-api-x.y.z.jar, activation-x.y.z.jar (x.y.z表示版本),从 ${congfluence_install_dir}/confluence/WEB-INF/lib/ 下移到(注意:是移动mv不是copy) ${congfluence_install_dir}/lib目录下,在${congfluence_install_dir}/confluence/WEB-INF/lib/ 目录下不要保留这几个jar包。然后重启confluence,测试发送邮件

测试发送成功。

完活,收工?!

我也以为这样就可以了,谁知道测试邮件发送成功了,可是在实际使用的时候却没收到邮件。然后,看日志吧

/doforgotuserpassword.action,我是想通过发送重置密码测试,谁知出现了这个问题。

仔细看是因为加载类不同的原因,猜测是因为哪个jar的版本不同导致的,可是到底是因为哪个jar包呢,太难找了,查的资料都只是说了移动javax.mail-x.y.z.jarjavax.mail-api-x.y.z.jar, activation-x.y.z.jar这三个jar,最后废了半天劲,通过多次测试,把${congfluence_install_dir}/confluence/WEB-INF/lib/ 下的javax.activation-api-1.2.0.jar和bcmail-jdk15on-1.64.jar也移到了${congfluence_install_dir}/lib,再次重启测试,终于可以收到重置密码的邮件了

所以最后我的配置

confluence/conf/server.xml

 邮件服务器后台

 移动到confluence/lib的jar包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值