`
baobeituping
  • 浏览: 1065169 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

James服务器配置(2)

阅读更多

 

 

启动 James 服务器

      

 双击\james-2.3.1\bin 目录下的 run.bat文件,即可启动 James 服务器。

 

控制台显示如下:

 

Using PHOENIX_HOME:   F:\项目\James\james-2.3.1rc1   

 

Using PHOENIX_HOME:   F:\项目\James\james-2.3.1rc1
Using PHOENIX_TMPDIR: F:\项目\James\james-2.3.1rc1\temp
Using JAVA_HOME:      C:\Program Files\Java\jdk1.6.0_03

Phoenix 4.2

James Mail Server 2.3.1rc1
Remote Manager Service started plain:4555
POP3 Service started plain:110
SMTP Service started plain:25
NNTP Service started plain:119
FetchMail Disabled

 

 

启动成功。关闭Ctrl + C

 

说明:启动前请确保您的JDK环境变量如JAVA_HOME等已经设置好;James 启动时,其SMTP 服务默认在 25 端口启动,POP3 服务默认在 110 端口启动, NNTP 服务默认在 119 端口启动, 请确保这些端口未被占用。

 

服务配置:

 

打开F:\项目\James\james-2.3.1rc1\apps\james\SAR-INF 下的 config.xml 文件,初次启动James之前,不会有这个文件,只有当James服务启动一次之后才自动构件该文件。

 

需要修改的地方:

 

 
 
…… 
<postmaster>Postmaster@localhost</postmaster> 
…… 
<servernames autodetect="true" autodetectIP="true"> 
	<servername>localhost</servername> 
</servernames> 
…… 

  

  

        把localhost该成你自己想要的邮箱域名, 把自动探测IP属性设置为“false”这里假设改成 tuping.com 如果开了一个帐号 leo ,那么他的邮件地址就是 leo@tuping.com (^_^)修改结果如下:

 

Xml代码 复制代码
  1. ……    
  2.  <postmaster>Postmaster@tuping.com</postmaster>
  3. ……    
  4. <servernames autodetect="false" autodetectIP="false">    
  5.     <servername>tuping.com</servername>    
  6. </servernames>    
  7. ……  
Xml代码 复制代码
  1. ……    
  2. <postmaster>Postmaster@lixiaobo.com</postmaster>    
  3. ……    
  4. <servernames autodetect="false" autodetectIP="false">    
  5.     <servername>lixiaobo.com</servername>    
  6. </servernames>    
  7. ……  
…… 
<postmaster>Postmaster@tuping.com</postmaster> 
…… 
<servernames autodetect="false" autodetectIP="false"> 
	<servername>tuping.com</servername> 
</servernames> 
……

   

        找到

<mailet match="RemoteAddrNotInNetwork=127.0.0.1" class="ToProcessor">    
  1.     <processor> relay-denied </processor>    
  2.     <notice>550 - Requested action not taken: relaying denied</notice>    
  3. </mailet>  

        将其更改,结果如下:

 
 <!-- update the configuration to include your own network/addresses.  The matcher can be configured with a comma separated list of IP addresses,wildcarded IP subnets, and wildcarded hostname subnets. -->
         <!-- e.g. "RemoteAddrNotInNetwork=127.0.0.1, abc.de.*, 192.168.0.*"-->
<mailet match="RemoteAddrNotInNetwork=127.0.0.1,192.168.61.135" class="ToProcessor"> 
	<processor> relay-denied </processor> 
	<notice>550 - Requested action not taken: relaying denied</notice> 
</mailet-->

     在原来的127.0.0.1后面加上本机的IP地址

         找到下面元素,去掉其注释

Xml代码 复制代码
  1. <authRequired>true</authRequired>  
Xml代码 复制代码
  1. <authRequired>true</authRequired>  
<authRequired>true</authRequired>

  

 

         这样邮箱访问需要帐号验证,你不希望别人用你的帐号收发消息吧……^_^

        

         如此,James服务配置已经完成。

 

找到:

  <!-- Check for delivery from a known spam server -->
         <!-- This set of matchers/mailets redirect all emails from known -->
         <!-- black holes, open relays, and spam servers to the spam processor -->
         <!-- For this set to function properly, the spam processor must be configured.
        
   该段代码是我注释掉的
   <mailet match="InSpammerBlacklist=dnsbl.njabl.org."
                 class="ToProcessor">
           <processor> spam </processor>
           <notice>550 Requested action not taken: rejected - see http://njabl.org/ </notice>
         </mailet> 

这段代码表示dnsbl.njabl.org组织将会检查本机地址,如果包括在黑名单中,那么该邮件服务器将邮件作为垃圾邮件处理,我就是在这卡了半天。注释掉该段代码就OK了

        6。创建邮件帐号

        创建邮件帐号后,就可以用来收发邮件了。James的账号管理是通过基于Telnet客户机的远程管理器,这点颇为不爽,尤其是我的操作系统下的命令行控制台是不显示telnet命令输入字符的,经常出错。

 

        现在进入命令行控制台,在telnet localhsot 4555 进入James管理器,操作如下:

 复制代码
  1. C:\Documents and Settings>telnet localhost 4555   
C代码 复制代码
  1. C:\Documents and Settings>telnet localhost 4555   
C:\Documents and Settings>telnet localhost 4555 

  

 

        将进入

 复制代码
JAMES Remote Administration Tool 2.3.1 Please enter your login and password Login id:

   

 

       JAMES Remote Administration Tool 2.3.1
Please enter your login and password
Login id:
Password:
Welcome root. HELP for a list of commands  

 

       创建新用户的命令是:adduser username password

    这里创建了两个账户来作为演示使用: leo/123,crb/123

 

代码示例:

 

 

Java代码 复制代码
  1. import java.io.IOException;   
  2. import java.util.Properties;   
  3.   
  4. import javax.mail.Authenticator;   
  5. import javax.mail.Folder;   
  6. import javax.mail.Message;   
  7. import javax.mail.MessagingException;   
  8. import javax.mail.PasswordAuthentication;   
  9. import javax.mail.Session;   
  10. import javax.mail.Store;   
  11. import javax.mail.Transport;   
  12. import javax.mail.internet.InternetAddress;   
  13. import javax.mail.internet.MimeMessage;   
  14. import javax.mail.internet.MimeUtility;   
  15.   
  16. public class HelloJMail {   
  17.        
  18.     //发送邮件   
  19.     public static void sendMail() {   
  20.         //String host = "192.168.10.191"; // 指定的smtp服务器,本机的局域网IP   
  21. //      String host = "localhost"; // 本机smtp服务器   
  22.         String host = "smtp.163.com"// 163的smtp服务器   
  23.         String from = "leo@lixiaobo.com"// 邮件发送人的邮件地址   
  24. //      String to = "crb@lixiaobo.com"; // 内网邮件接收人的邮件地址   
  25.         String to = "lixiaobo618@163.com"// 外网邮件接收人的邮件地址   
  26.         final String username = "leo";  //发件人的邮件帐户   
  27.         final String password = "123";   //发件人的邮件密码   
  28.   
  29.         // 创建Properties 对象   
  30.         Properties props = System.getProperties();   
  31.   
  32.         // 添加smtp服务器属性   
  33.         props.put("mail.smtp.host", host);   
  34.         props.put("mail.smtp.auth""true");   
  35.   
  36.         // 创建邮件会话   
  37.         Session session = Session.getDefaultInstance(props, new Authenticator(){   
  38.             @Override  
  39.             public PasswordAuthentication getPasswordAuthentication() {   
  40.                 return new PasswordAuthentication(username, password);   
  41.             }   
  42.                
  43.         });   
  44.   
  45.         try {   
  46.             // 定义邮件信息   
  47.             MimeMessage message = new MimeMessage(session);   
  48.             message.setFrom(new InternetAddress(from));   
  49.             message.addRecipient(Message.RecipientType.TO, new InternetAddress(   
  50.                     to));   
  51.             //message.setSubject(transferChinese("我有自己的邮件服务器了"));   
  52.             message.setSubject("I hava my own mail server");   
  53.             message.setText("From now, you have your own mail server, congratulation!");   
  54.   
  55.             // 发送消息   
  56.             session.getTransport("smtp").send(message);     
  57.             //Transport.send(message); //也可以这样创建Transport对象发送   
  58.             System.out.println("SendMail Process Over!");   
  59.   
  60.         } catch (MessagingException e) {   
  61.             e.printStackTrace();   
  62.         }   
  63.     }   
  64.        
  65.     //接受邮件   
  66.     public static void getMail(){   
  67.         String host = "localhost";   
  68.         final String username = "crb";   
  69.         final String password = "123";   
  70.   
  71.         // 创建Properties 对象   
  72.         Properties props = new Properties();   
  73.   
  74.         // 创建邮件会话   
  75.         Session session = Session.getDefaultInstance(props, new Authenticator(){   
  76.             @Override  
  77.             public PasswordAuthentication getPasswordAuthentication() {   
  78.                 return new PasswordAuthentication(username, password);   
  79.             }   
  80.                
  81.         });   
  82.   
  83.            
  84.         try {   
  85.             // 获取邮箱的pop3存储   
  86.             Store store = session.getStore("pop3");   
  87.             store.connect(host, username, password);   
  88.   
  89.             // 获取inbox文件   
  90.             Folder folder = store.getFolder("INBOX");   
  91.             folder.open(Folder.READ_ONLY);  //打开,打开后才能读取邮件信息   
  92.   
  93.             // 获取邮件消息   
  94.             Message message[] = folder.getMessages();   
  95.   
  96.             for (int i=0, n=message.length; i<n; i++) {   
  97.                 System.out.println(i + ": " + message[i].getFrom()[0]   
  98.                                                + "\t" + message[i].getSubject());   
  99.                 try {   
  100.                     message[i].writeTo(System.out);   
  101.                 } catch (IOException e) {   
  102.                     e.printStackTrace();   
  103.                 }   
  104.   
  105.             }   
  106.   
  107.             // 关闭资源   
  108.             folder.close(false);   
  109.             store.close();   
  110.                
  111.         } catch (MessagingException e) {   
  112.             e.printStackTrace();   
  113.         }   
  114.            
  115.         System.out.println("GetMail Process Over!");   
  116.   
  117.     }   
  118.        
  119.     //邮件主题中文字符转换   
  120.     public static String transferChinese(String strText){   
  121.         try{   
  122.             strText = MimeUtility.encodeText(new String(strText.getBytes(), "GB2312"), "GB2312""B");   
  123.         }catch(Exception ex){   
  124.             ex.printStackTrace();   
  125.         }   
  126.         return strText;   
  127.     }   
  128.   
  129.     public static void main(String[] args) {   
  130.         HelloJMail.sendMail();   
  131. //      HelloJMail.getMail();   
  132.     }   
  133.   
  134. }  
分享到:
评论

相关推荐

    Apache 邮件服务器 James 简单配置.doc

    #### 配置James服务器 为了确保James能够正确处理邮件,还需对配置文件进行必要的修改。James的主要配置文件位于`C:\james-2.3.1\apps\james\SAR-INF\config.xml`。 1. **修改主机名称**: 更改`&lt;servername&gt;`和`...

    james3.0.1 邮件服务器 配置

    **SMTP服务器配置:** 在James的配置中,SMTP服务器的设置至关重要。你需要在`conf`目录下的`smtp-server.xml`文件中修改相关参数,如监听端口(默认25)、是否启用TLS/SSL加密(提高通信安全性)以及认证机制(如...

    James_邮件服务器配置

    James_邮件服务器配置James_邮件服务器配置James_邮件服务器配置James_邮件服务器配置James_邮件服务器配置James_邮件服务器配置James_邮件服务器配置

    james 邮件服务器 详细配置

    james 邮件服务器 详细配置 关联数据库

    James详细配置(3)

    标题“James详细配置(3)”暗示了这可能是一个关于James邮件服务器配置的系列教程的第三部分。James是一个开源的、基于Java的邮件服务器,它提供了SMTP、POP3和IMAP4服务,通常用于测试和开发环境,或者对于那些希望...

    Apache James邮件服务器配置

    接下来,我们需要配置James服务器的基本设置。这通常涉及到以下几个方面: 1. **网络配置**:包括SMTP、POP3和IMAP4端口的设定,以及监听的IP地址。默认情况下,James会在25(SMTP)、110(POP3)和143(IMAP4)...

    James邮件服务器简介与配置

    James服务器的组件包括: 1. SMTP和POP3邮件服务器,分别负责邮件的发送和接收。 2. 远程管理服务器,便于管理员远程监控和管理邮件服务器。 3. NNTP服务器,用于新闻组交流。 4. 邮件处理引擎,基于Mailet API,能...

    Apache James Server 3配置说明

    通过上述步骤和配置,用户可以快速开始使用Apache James Server,将其作为实际运行的邮件服务器。在操作过程中,用户需要根据自己的需求和环境进行相应的配置调整,以确保邮件服务器能够满足业务要求。Apache James ...

    james3.0邮件服务器及配置说明

    **James 3.0 邮件服务器及配置详解** James 3.0 是一个开源、免费的邮件服务器软件,它基于Java技术构建,提供SMTP、POP3和IMAP4等标准邮件服务。这款服务器软件适合小型企业和个人使用,具有高度可定制性和灵活性...

    james服务器安装文件:james-2.3.0

    "james-2.3.0.zip"是该服务器的一个版本压缩包,其中包含了运行James服务器所需的所有组件和配置文件。 在安装James服务器之前,你需要了解以下关键知识点: 1. **Java环境**:由于James是用Java编写的,所以首先...

    James详细配置(4)

    描述中提到的“NULL”意味着没有提供具体的配置细节,但我们可以根据常见的电子邮件服务器配置流程来探讨一些可能的知识点。 首先,`config.xml`是James服务器的主要配置文件,它定义了服务器的基本行为和组件设置...

    Apache james 安装配置手册

    本文将详细介绍如何在Linux CentOS 5.1环境下安装配置Apache James邮件服务器。 首先,我们需要准备以下环境: 1. 操作系统:Linux CentOS 5.1。尽管其他版本的Linux也可能适用,但这里以CentOS 5.1为例。 2. 搭建...

    james的配置文件

    **James邮件服务器配置详解** James,全称JavaMail Server,是一款开源的、基于Java的电子邮件服务器,它提供了邮件传输协议(SMTP)、邮局协议(POP3)和互联网消息访问协议(IMAP)的支持。在使用James的过程中,...

    james详细配置及问题解决

    DNS服务器配置 - **DNS服务器地址**:在`dnsserver`标签内指定DNS服务器的IP地址,默认为本地环回地址`127.0.0.1`。 ```xml &lt;server&gt;127.0.0.1 ``` ##### 2. 管理员账户配置 - **管理员账户**:修改...

    Java开源邮件服务器james源码

    Java开源邮件服务器Apache James是基于Java技术构建的一款强大的邮件服务器软件。它的源代码开放,允许开发者深入了解其工作原理,并可根据需求进行定制化开发。Apache James 2.3.2是该项目的某个稳定版本,提供了...

    apache james(邮件服务器)配置

    ### Apache James 邮件服务器配置详解 #### 一、背景与动机 随着互联网的发展,邮件作为信息传递的重要工具之一,被广泛应用于个人通讯及企业内部交流。然而,许多公共邮件服务商如163、新浪等为了防止垃圾邮件的...

    James邮件服务配置

    通过对James邮件服务的配置流程进行详细的梳理与讲解,我们不仅了解了如何从零开始搭建一个基本可用的邮件服务器,还掌握了如何根据实际需求对其进行定制化配置的方法。这些知识对于想要自行部署邮件服务器的IT技术...

    James搭建邮件服务器

    总的来说,James 提供了一个功能丰富的邮件服务器解决方案,通过手动配置和调整,可以满足不同场景的需求。在实际部署时,还需要考虑防火墙设置、安全性以及与其他系统的集成等复杂因素。对于更深入的了解和使用,...

    james-2.3.2邮件服务器(集成mysql)

    1.集成mysql,需要配置数据库2.配置了系统退信:https://blog.csdn.net/u011974797/article/details/1347181363.修改配置james\apps\james\SAR-INF\config.xml4.windows启动james\bin\run.bat

Global site tag (gtag.js) - Google Analytics