Apache James 用户信息的数据库存储和密码问题

本文介绍了如何将 Apache James 的用户信息存储到 MySQL 数据库,详细解析了配置过程,并探讨了密码加密机制,包括默认的 SHA 加密以及如何在 Web 应用中处理密码。此外,还讨论了基于 James 开发邮件系统的基本方案和架构。
摘要由CSDN通过智能技术生成

本文主要解决两个问题:一个是如何将 James 的用户信息存储到数据库中,二是在进行 James 二次开发时,如何处理密码问题。

一、James 简介

Apache James(Java Apache Mail Enterprise Server)是 Apache 组织的子项目之一,完全采用纯 Java 技术开发,实现了 SMTP、POP3 与 NNTP 等多种邮件相关协议。

James 也是一个邮件应用平台,可以通过 Mailet 扩充其功能,如 Mail2SMS、Mail2Fax 等。James 提供了比较完善的配置方案,尤其是关于邮件内容存储和用户信息存储部分,可以选择在文件、数据库或其他介质中保存。

James 性能稳定、可配置性强,还是开源项目,所有源代码不存在版权问题,因此,James 在项目中的应用日益广泛,现在常用版本为 2.1,但最新版本 2.3 已经推出,在本文中,我们将仍以 James2.1 作为介绍蓝本。

二、一个假设的项目

假设我要以 James 为邮件服务器,开发一套基于 Web 的邮件系统,就像 263.net163.net 一样,要求实现在线注册、在线收发邮件等功能。

默认情况下,James 的用户信息存储在文本中,虽然加了密,但由于文本存档不足,不便于查询及相应处理,幸好 James 提供了多种用户信息存储方案,如数据库存储,LDAP 存储等。

这里我们将以数据库存储为例,讲解用户信息的管理,数据库采用 MySQL。当然你也可以采用 LDAP,比如免费的 OpenLDAP,功能非常强大。

三、用户信息的数据库存储
James 邮件用户的用户信息默认保存在 apps/james/var/users 目录下,通过修改配置文件 apps/james/SAR-INF/config.xml,可以把用户信息保存到数据库中,配置方法如下:

第一步:在 MySQL 中新建一个数据库 mail,用户名 root,密码为空;

第二步:打开 config.xml,找到 这一项,此面默认的内容为:

<repository name="LocalUsers" class="org.apache.james.userrepository.UsersFileRepository">
         <destination URL="file://var/users/"/>
</repository> 

需要修改为:

<repo
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员世杰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值