James配置邮件系统:
1>服务器端配置,邮件服务的名字叫myEmail或myEmail.com,服务器管理员名Admin
首先停止已开启的James邮件服务,然后打开文件James\apps\james\SAR-INF\config.xml。
Ø 在config.xml文件中,找到Postmaster@localhost, 把此项改为Admin@myEmail,同时,找到位于
<!-- By default, the servername 'localhost' is specified. This can be removed, if required. -->
- <!--
-->
- <!-- Warning: If you are using fetchpop it is important to include the -->
- <!-- fetched domains in the server name list to prevent looping. -->
- <servernames autodetect="true" autodetectIP="true">
- <!-- CONFIRM?
-->
<servername> localhost </servername>
</servernames>
的localhost,把此项改为myEmail。这样就可以让其它机器也能访问邮件系统。
Ø DNS配置:找到同上文件中<dnsserver>段中的如下程序段:
- <dnsserver>
- <servers>
- <!-- CONFIRM? -->
- <!-- Enter ip address of your DNS server, one IP address per server -->
- <!-- element. The default configuration assumes a DNS server on the localhost. -->
<server>127.0.0.1</server>
</servers>
<authoritative>false</authoritative>
</dnsserver>
将127.0.0.1的位置填入DNS服务器的IP地址;
Ø 修改管理员密码:
找到同上文件中的<administrator_accounts>段,如下程序段
- <administrator_accounts>
- <!-- CHECKME!
-->
- <!-- Change the default login/password.
-->
<account login="root" password="root" />
</administrator_accounts>
将默认用户名root与密码root修改为需要的值
Ø 修改telnet管理程序登录端口 :(默认为4555)
找到同上文件中的<remotemanager>段下的port如下程序段
- <remotemanager>
<port>4555</port>
- <!-- Uncomment this if you want to bind to a specific inetaddress
-->
- <!--
将<port>4555</port>之间的端口号4555改为需要的端口。
2> 客户端配置:(略)
3> 帐号管理
James的账号管理是通过telnet完成的,登录命令为:
telnet myEmail 4555
其中myEmail也可以换成IP,4555是端口号。登录时需要用户名和密码,开始默认的用户名和密码均为root。若登录成功,提示如下:
JAMES Remote Administration Tool 2.1
Please enter your login and password
Login id:
此时输入root用户名,然后会出现:
Password:
输入密码root
注意:在有些操作系统如Windows2000上,用户输入均不显示。
telnet命令列表:
help
显示帮助
Listusers
列出目前存在的账户
Countusers
显示目前存在的账户的数量
addusers [用户名] [密码]
添加新用户
verify [用户名]
验证特定用户是否存在
deluser [用户名]
删除已存在用户
setpassword [用户名] [密码]
设置某一用户的密码
setalias [别名] [用户名]
从本地将[别名]的所有邮件转寄[用户名]
unsetalias [别名]
取消setalias设置
setforwarding [用户名] [email地址]
将[用户名]的邮件转寄指定[email地址]
unsetforwarding [用户名]
取消setforwarding设置
user [资源]
变为另一用户的资源
shutdown
停止当前James邮件服务的JVM程序(对于James为后台服务时,用此命令很方便)
Quit
断开telnet连接
4>用户信息的数据库存储
James邮件用户的用户信息默认保存在apps\james\var\users目录下,通过修改配置文件apps\james\SAR-INF\config.xml,可以把用户信息保存到数据库中,配置方法如下:
假设使用的是MySQL数据库:
第一步:首先将MySQL的驱动程序(例如:mysql-connector-java-3.1.6-bin.jar)考到james的lib目录下(例如:D:\james\lib)
第二步:在MySQL中新建一个数据库mail;
第三步:打开config.xml,找到<users-store>这一项,此面默认的内容为:
<repository name="LocalUsers" class="org.apache.james.userrepository.UsersFileRepository">
<destination URL="file://var/users/"/>
</repository>
需要修改为:
<repository name="LocalUsers"
class="org.apache.james.userrepository.JamesUsersJdbcRepository" destinationURL="db://maildb/users">
<sqlFile>file://conf/sqlResources.xml</sqlFile>
</repository>
其实如不修改也行,因为文件下面也有实例,不过是用<!-- 和 --> 注释掉的,打开即可;记住把
<repository name="LocalUsers" class="org.apache.james.userrepository.UsersFileRepository">
<destination URL="file://var/users/"/>
</repository>
用<!-- 和 --> 注释掉;
通过修改,我们就把用户信息的存储介质从file改成了db,<sqlFile>是指明了在db中的数据表结构及相关数据库信息。
第四步:仍然是config.xml,找到<data-sources>项,默认内容为空,把此项内容修改为:
<data-source name="maildb" class="org.apache.james.util.mordred.JdbcDataSource">
<driver>org.gjt.mm.mysql.Driver</driver>
<dburl>jdbc:mysql://127.0.0.1/mail</dburl>
<user>root</user>
<password></password>
<max>20</max>
</data-source>
或打开文件下面实例的<!-- 和 --> 注释
<driver>是指MySQL的JDBC驱动,注意这个默认的<driver>是有问题的,要改成MySQL的驱动程序中Driver.class的路径,即:
<driver>com.mysql.jdbc.Driver</driver>
<dburl>指数据库的访问路径,IP后的mail即MySQL中新建数据库名,接下来是用户名、密码及最大连接数。
再次启动时,james将在mail数据库中自动创建有关用户的表格。
至此,数据库配置完成,启动James,若正常无误,请通过telnet添加一个新用户,比如adduser holen
123456,然后检查MySQL中的mail数据库,下面将有一个表users,这是James根据file://conf
/sqlResources.xml的内容创建的。
通过以上配置,James的用户信息就可以保存在数据库中了。
今天要测试自己开发的邮件服务器为什么往外网发送不了邮件的问题,只好先在局域网试试看是程序的问题还是什么其他的问题,于是乎就在弄了一台linux服务器,上面拷贝了一个james mailserver 2.3.1
装jdk:》sh jdk-6u11-linux-i586.bin
查看端口占用:》lsof -i:25
配置james就不多说了,现在网上很多资料
配置james名字为:
motoplus.com
建用户:
fangrn
本机hosts文件添加:
133.64.140.62 motoplus.com
发送短信测试
import java.util.*;
import javax.mail.internet.*;
import javax.mail.*;
public class javamail163 {
public static void main(String[] args) throws AddressException,
MessagingException {
Properties mailpro = new Properties();
mailpro.setProperty("mail.smtp.host", "motoplus.com");
Session session = Session.getDefaultInstance(mailpro);
session.setDebug(true);
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress("fangrn@fangrn.com"));
msg.setRecipient(Message.RecipientType.TO, new InternetAddress("fangrn@motoplus.com"));
msg.setSubject("测试免认证方式发送邮件!!!");
msg.setText("测试一下,邮件来自fangrn");
Transport.send(msg);
}
}
测试通过了
分享到:
相关推荐
- **环境要求**:为了运行James Server,需要满足一些基本要求,包括安装JRE 1.6或更高版本,以及在Linux/Unix系统上需要root权限,在Windows系统上需要Administrator权限。此外,Linux系统还需要libc6库。 - **内存...
### Linux系统故障诊断与排除——James Kirkland #### 第1章 系统引导、启动和关闭问题 **1.1 引导加载程序** 引导加载程序(Boot Loader)是计算机开机后运行的第一段程序,其主要任务是把操作系统内核加载到...
"apache-james-2.3.2.tar.gz"是这个服务器的源码压缩包,版本为2.3.2,格式为tar.gz,这是在Unix/Linux系统中常见的归档和压缩格式,通常使用tar命令解压,再用gzip命令进行解压缩。 在部署Apache James之前,首先...
Apache James是基于Java的开源邮件服务器,sendmail和qmail则是历史悠久的Unix/Linux环境下的邮件传输代理(MTA)。 **Apache James** Apache James是一个完全由Java编写的邮件服务器,它提供了邮件存储、POP3、...
在使用前,开发者需要熟悉Linux内核驱动开发的基本知识,包括模块加载、设备树配置、Makefile编写等,以便于编译、调试和安装驱动。 总的来说,研华串口卡Linux驱动源码是连接研华串口卡与Linux操作系统的桥梁,其...
本指南旨在详细介绍如何安装并使用 Sourcery G++ Lite 2009q1-203 版本来构建 ARM GNU/Linux 应用程序。阅读完毕后,用户将能够掌握通过命令行使用该工具链的方法。 #### 许可证与订阅服务 **1.1 Sourcery G++ ...
Modulus通过在[ ]中记录和在[ ]中使用的Flatcar Linux开发人员Flatcar内编译内核模块来工作。 此外,由于Flatcar Linux自动更新以确保您的机器安全,因此内核模块很容易过时。 升级操作系统时,Modulus会自动为新...
在大多数Linux发行版中,可以使用包管理器来安装vsFTPd。例如,在Ubuntu或Debian上,可以使用`sudo apt-get install vsftpd`命令;在CentOS或Fedora上,使用`sudo yum install vsftpd`或者`sudo dnf install vsftpd...
`red5-server-1.0.7-RELEASE.tar.gz` 是Red5的一个特定版本,采用tarball(.tar.gz)格式进行打包,这是一种在Unix/Linux系统中常见的归档和压缩方式,方便用户下载和安装。 1. **Red5介绍** Red5是由James ...
沙拉桌面基于 ,聚合了N多词典的桌面翻译与划词工具,功能强大,支持Windows,Mac和Linux。预览功能支持的大部分功能多词典切换多种划词方式历史记录红心保存生词剪切板监听(复制翻译)等等...部分截图左击托盘图标...
通过本教程的学习,您将能够熟练掌握Git的基本操作及常见场景下的问题处理方法。 #### 认识Git - **3W(Who, Why, When)**: - **Who**:由Linus Torvalds于2005年发起,旨在为Linux内核提供高效且可靠的版本...
书中还新增了一个章节,详细说明了如何在Mac OS X、Windows和Linux等不同操作系统上安装和运行Emacs,并提供了针对这些平台的有效使用技巧。 #### 书籍章节概览 - **前言**:解释为什么应该阅读这本书,介绍了不同...
Red5是由James Strachan创建的,它基于Java开发,可以在各种操作系统上运行,如Windows、Linux、Mac OS X等。Red5的主要特性包括: 1. **流媒体服务**:支持音频、视频和数据流的发布、播放和录制。 2. **应用...
- **为何不安装公共 JRE**:通常情况下,为了简化安装过程并减少磁盘占用,开发者会安装包含 JRE 的 JDK。如果只需要运行 Java 应用而不进行开发,则可以选择仅安装 JRE。 - **安装 JDK**:安装 JDK 是进行 Java ...
KMP(Knuth-Morris-Pratt)算法,是由Donald Knuth、Vaughan Pratt和James H. Morris三位学者于1970年代提出的一种字符串匹配算法。这个算法以其高效性和避免了不必要的字符比较而闻名,尤其在处理大量数据时具有...
此外,还具备实时服务器状态监控、自定义日志记录、服务器端包含指令(SSI)、SSL支持、FastCGI、Java Servlets支持等功能,通过扩展模块能进一步增强功能。 【Apache的广泛应用】 由于Apache的开源、跨平台和可...
**安装**:根据操作系统类型(Windows、Linux 或 macOS)进行安装。 3. **配置环境变量**:设置 PATH 和 JAVA_HOME 环境变量,以便操作系统能够在任何目录下找到 Java 命令。 #### 第一个 Java 程序 - **示例**...