<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    paulwong

    用JAMES實現自己的郵件服務器

    應用服務器Apache企業應用XMLC
    簡介
    James 是一個企業級的郵件服務器,它完全實現了smtp 和 pops 以及nntp 協議。同時,james服務器又是一個郵件應用程序平臺。James的核心是Mailet API,而james 服務齊是一個mailet的容器。它可以讓你非常容易的實現出很強大的郵件應用程序。James開源項目被廣泛的應用于與郵件有關的項目中。你可以通過它來搭建自己的郵件服務器。我們可以利用Mailet API,編程接口來實現自己所需的業務。James集成了Avalon 應用程序框架以及Phoenix Avalon 框架容器。Phoenix為james 服務器提供了強大的支持。需要說明的是Avalon開源項目目前已經關閉。
    快速上手
    安裝james
    我這次使用的安裝包是james 2.3.1。大家可以從這里下載到http://james.apache.org/download.cgi
    現在讓我們開始我們激動人心的james之旅。首先我們將james-binary-2.3.1.zip解壓縮下載到你的安裝目錄。我們可以把這個過程理解為安裝的過程。我在這里將它解壓到c:\.并且把它改名為james.這樣我們的james就安裝好了。目錄為C:\james。很簡單吧!

    準備知識 - 學習一些必要的知識
    在我使用james的時候讓我感覺首先理解james的應用程序結構是很重要的。否則你會在使用中感到很困惑。
    它的應用程序結構是這樣的:
    James
    |_ _apps
    |_ _bin
    |_ _conf
    |_ _ext
    |_ _lib
    |_ _logs
    |_ _tools
    我們重點介紹一下兩個文件夾bin 和 apps.
    bin目錄中的run.bat和run.sh是James的啟動程序。只要記住這個重要文件就可以。
    啟動之后控制臺顯示如下:
    Using PHOENIX_HOME: C:\james
    Using PHOENIX_TMPDIR: C:\james\temp
    Using JAVA_HOME: C:\j2sdk1.4.2_02
    Phoenix 4.2
    James Mail Server 2.3.1
    Remote Manager Service started plain:4555
    POP3 Service started plain:110
    SMTP Service started plain:25
    NNTP Service started plain:119
    FetchMail Disabled
    Apps 目錄下有個james的子目錄這個目錄是它的核心。
    james
    |_ _SAR-INF
    |_ _conf
    |_ _logs
    |_ _var
    |_mail
    |_address-error
    |_error
    |_indexes
    |_outgoing
    |_relay-denied
    |_spam
    |_spool
    |_nntp
    |_....

    |_users
    SAR-INF 下有一個config.xml是james中的核心配置文件。
    Logs 包含了與james有關的Log。調試全靠它了。
    Var 包含了一些文件夾通過它們的名字我們大概也能猜測出它們的用途。Mail主要用于存儲郵件。nntp主要用于新聞服務器。Users用于存儲所有郵件服務器的用戶。也就是郵件地址前面的東東。如:pig@sina.com的pig就是所謂用用戶。

    創建用戶:
    我們在James上建若干用戶,用來測試收發郵件。當然如果你不用james本身的用戶也可以。James以telnet 的方式提供了接口用來添加用戶。下面我來演示一下。
    首先使用telnet來連接james的remote manager .
    1.telnet localhost 4555 回車
    2.然后輸入管理員用戶名和密碼(user/pwd : root/root 是默認設置這個可以在config.xml中修改)
    JAMES Remote Administration Tool 2.3.1
    Please enter your login and password
    Login id:
    root
    Password:
    root
    Welcome root. HELP for a list of commands

    3.添加用戶
    adduser kakaxi kakaxi
    User kakaxi added

    Adduser mingren mingren
    User mingren added

    4.查看添加情況
    listusers
    Existing accounts 2
    user: mingren
    user: kakaxi
    得到上面的信息說明我們已經添加成功。


    發送器
    這個類主要用來測試我們的郵件服務器,可以不用將其打入包中。
    java 代碼 
    package com.paul.jamesstudy;   
      
    import java.util.Date;   
    import java.util.Properties;   
      
    import javax.mail.Authenticator;   
    import javax.mail.Message;   
    import javax.mail.PasswordAuthentication;   
    import javax.mail.Session;   
    import javax.mail.Transport;   
    import javax.mail.internet.InternetAddress;   
    import javax.mail.internet.MimeMessage;   
      
    public class Mail {   
        private String mailServer, From, To, mailSubject, MailContent;   
      
        private String username, password;   
      
        private Session mailSession;   
      
        private Properties prop;   
      
        private Message message;   
      
        // Authenticator auth;//認證   
        public Mail() {   
            // 設置郵件相關   
            username = "kakaxi";   
            password = "kakaxi";   
            mailServer = "localhost";   
            From = "kakaxi@localhost";   
            To = "mingren@localhost";   
            mailSubject = "Hello Scientist";   
            MailContent = "How are you today!";   
        }   
        public void send(){   
            EmailAuthenticator mailauth =    
    new EmailAuthenticator(username, password);   
            // 設置郵件服務器   
            prop = System.getProperties();   
            prop.put("mail.smtp.auth", "true");   
            prop.put("mail.smtp.host", mailServer);   
            // 產生新的Session服務   
            mailSession = mailSession.getDefaultInstance(prop,   
                    (Authenticator) mailauth);   
            message = new MimeMessage(mailSession);   
      
            try {   
            message.setFrom(new InternetAddress(From)); // 設置發件人   
            message.setRecipient(Message.RecipientType.TO,    
    new InternetAddress(To));// 設置收件人   
            message.setSubject(mailSubject);// 設置主題   
            message.setContent(MailContent, "text/plain");// 設置內容   
            message.setSentDate(new Date());// 設置日期   
            Transport tran = mailSession.getTransport("smtp");   
            tran.connect(mailServer, username, password);   
            tran.send(message, message.getAllRecipients());   
            tran.close();   
            } catch (Exception e) {   
                e.printStackTrace();   
            }   
        }   
        public static void main(String[] args) {   
            Mail mail;   
            mail = new Mail();   
            System.out.println("sending");   
            mail.send();   
            System.out.println("finished!");   
        }   
      
    }   
      
    class EmailAuthenticator extends Authenticator {   
        private String m_username = null;   
      
        private String m_userpass = null;   
      
        void setUsername(String username) {   
            m_username = username;   
        }   
      
        void setUserpass(String userpass) {   
            m_userpass = userpass;   
        }   
      
        public EmailAuthenticator(String username, String userpass) {   
            super();   
            setUsername(username);   
            setUserpass(userpass);   
        }   
      
        public PasswordAuthentication getPasswordAuthentication() {   
            return new PasswordAuthentication(m_username, m_userpass);   
        }   
    }   


    posted on 2012-12-16 13:14 paulwong 閱讀(910) 評論(0)  編輯  收藏 所屬分類: SPRING INTERGRATION

    主站蜘蛛池模板: 你懂的在线免费观看| 两个人看www免费视频| 国产亚洲视频在线播放| 亚洲精品乱码久久久久66| 亚洲午夜理论片在线观看| 又粗又大又长又爽免费视频| 久久精品国产亚洲精品2020| 免费视频淫片aa毛片| CAOPORN国产精品免费视频| 亚洲午夜成激人情在线影院| 人妻在线日韩免费视频| 亚洲综合最新无码专区| 18成禁人视频免费网站| 亚洲欧美国产欧美色欲| 精品国产_亚洲人成在线高清| 免费看韩国黄a片在线观看| 久久久久女教师免费一区| 亚洲一区二区三区高清不卡| 最近在线2018视频免费观看| 国产精品亚洲一区二区三区| 日韩在线天堂免费观看| 精品视频一区二区三区免费| 亚洲中文字幕视频国产| 又黄又爽又成人免费视频| 一区二区三区免费精品视频| 亚洲人成电影网站久久| 午夜神器成在线人成在线人免费 | 免费看片免费播放| 国产免费一区二区视频| 女bbbbxxxx另类亚洲| 亚洲国产专区一区| 西西大胆无码视频免费| 老司机69精品成免费视频| 美女免费视频一区二区| 亚洲欧洲日韩国产一区二区三区 | 免费人成又黄又爽的视频在线电影| 亚洲美女视频免费| 一个人免费观看www视频在线| 四虎影视无码永久免费| 一级毛片人与动免费观看| 亚洲第一第二第三第四第五第六|