1. 程式人生 > >Apache James郵件伺服器介紹及配置傳送外網郵件

Apache James郵件伺服器介紹及配置傳送外網郵件

      現在的專案往往都需要傳送郵件驗證,郵件內容推送等功能。所以我就專門研究Apache中James,這是一個專門用來做郵件伺服器的開源框架。

     Apache James(Java Apache Mail EnterpriseServer)是Apache組織的子專案之一,完全採用純Java技術開發,實現了SMTP、POP3與NNTP等多種郵件相關協議。James是一個郵件應用平臺,可以通過Mailet擴充其功能,如Mail2SMS、Mail2Fax等。James提供了比較完善的配置方案,尤其是關於郵件內容儲存和使用者資訊儲存部分,可以選擇在檔案、資料庫或其他介質中儲存。

    James效能穩定、可配置性強,還是開源專案,所有原始碼不存在版權問題,因此,James在專案中的應用日益廣泛。 JavamailAPI是一個用於閱讀、編寫和傳送電子訊息的可選包(標準擴充套件),可以用來建立基於標準的電子郵件客戶機,它支援各種因特網郵件協議,包括:SMTP、POP、IMAP、MIME、NNTP、S/MIME及其它協議。

      我這裡使用的是james-2.3.1和javaEmail進行郵件功能的開發。目前測試的功能有郵件的傳送和郵件的接收。下面先講James的下載配置問題。

1.配置前準備:

                     1.首先下載James伺服器,網路上好多都是不能用的,或者配置不能成功。所以最好用我的這個點選開啟連結

                      2.然後需要下載James開發所需要的jar包。下載地址:點選開啟連結

                     3.需要下載JDK,然後安裝並配置環境變數(JDK最好是1.6以上,環境變數的配置大家可以網上搜索,這裡我就不多說了)

2.啟動James

                     1.將james-2.3.1解壓到C盤中(當然也可以解壓到其他盤,但是最好放在系統盤中)

                      2.執行bin目錄下的run.bat(在執行之前請確保您的Java環境變數已配置成功,否則將提示執行失敗) 顯示以下內容表示James伺服器已啟動成功:

                       http://s4.sinaimg.cn/mw690/001T3J80gy6Ftf4xiMz23&690

                      伺服器啟動成功後,將自動在apps目錄下根據james.sar檔案生成相應的James釋出檔案包,我們後面討論的配置檔案config.xml即存在於此釋出檔案包中。

3.用Telnet管理使用者(可以利用這個使用者傳送郵件,例如QQ中的[email protected].com其中208017534就是使用者名稱,就是在這裡新增的)

               1.用cmd進入MS-DOS裡面,輸入telnet localhost 4555(注:localhost是郵件伺服器名,4555是管理埠,可在\apps\james\SAR-INF\config.xml檔案中配置,在此我們使用其預設配置) 這裡的localhost可以是上網的IP地址也可以是127.0.0.1.如果需要遠端訪問就必須用上網的IP地址。如果提示telnet不存在可以在Windows中配置telnet的啟動,這個比較簡單大家可以去百度或者Google。

              2然後輸入使用者名稱和密碼(在配置檔案config.xml中,預設為使用者名稱:root密碼:root,可以在配置檔案中修改)
然後輸入使用者名稱和密碼(在配置檔案config.xml中,預設為使用者名稱:root密碼:root)
出現如下資訊說明登陸成功:

                     

                  3.新增使用者,我們可以輸入命令:adduser admin password來新增一個的郵件使用者,則其使用者名稱為:admin,密碼為:password

4.為了可以給外網傳送郵件或者接收外網的郵件,我們需要對james-2.3.1\apps\james\SAR-INF\config.xml中的配置檔案進行修改。

             (1)查詢替換所有的localhost為你的域名,比如baobao.com
             【如果你沒有一個域名,那麼可以在system32/drivers/etc/hosts檔案中新增一個偽域名用於測試,       192.168.0.45  baobao.com】

             (2)找到           

   
     把localhost該成你自己想要的郵箱域名, 把自動探測IP屬性設定為“false”這裡假設改成 baobao.com 如果開了一個帳號 qiang,那麼他的郵件地址就是      [email protected]。注意是兩個localhost都要改。

            (3)註釋掉以下程式碼

             
            (4)配置DNS Server
               在cmd中用ipconfig /all 命令檢視你的dns server ip
               DNS Servers . . . . . . . . . . . 10.202.72.116
                                                              10.202.72.118

              如果是偽域名,還需要將本機地址也列進去,最好放到第一位。<server>42.96.155.24</server>

新增如下:

                     

             (5)配置smtp server,pop3 server等
              查詢所有myMailServer,替換為你的域名。如:
             <helloName autodetect="false">myMailServer</helloName>,將myMailServer修改為你的域名。比如:baobao.com

            (6)設定smtpserver 
              開啟smtp認證 <authRequired>true</authRequired>

            (7)authorizedAddresses中的範圍改成 <authorizedAddresses>192.168.0.0/24,127.0.0.0/8</authorizedAddresses> ,不然郵件傳送或接收就會被遮蔽掉。

           (8)找到<servernames autodetect="true" autodetectIP="true"> 設成 <servernames autodetect="false" autodetectIP="false"> autodetct設為true會自動偵測你的主機名,設成false會用你指定的server name. autodetectIP設為true會為你的servername加上ip.

           (9)查詢所有的autodetect 和 autodetectIP把對應的值改成false false,把所有localhost改成你的外網IP地址或者你上面設地的域名(這裡是baobao.com)

     James服務配置完成

      注:以上設定好之後,重啟james服務,然後就可以寫程式碼測試了。

我測試過,可以給QQ,新浪等發生郵件或者接收郵件。如果配置還有問題可以加我QQ:208017534 。歡迎過來交流

相關推薦

Apache James郵件伺服器介紹配置傳送郵件

      現在的專案往往都需要傳送郵件驗證,郵件內容推送等功能。所以我就專門研究Apache中James,這是一個專門用來做郵件伺服器的開源框架。      Apache James(Java Ap

James郵件伺服器簡單介紹配置傳送郵件

因為微貿網使用者已經超過3萬個使用者,需要每天給使用者推薦訂閱了相關關鍵詞的詢盤。剛開是使用了第三方的郵箱進行傳送,有限制而且不能那個多發,所以就想到了要搭建自己的郵箱伺服器。摸索了兩天終於搞定了。廢話不多說,進入正題。 一、簡介Apache James(Java Ap

Apache James郵件伺服器配置傳送郵件

最近公司做的一個專案,使用者註冊需要郵箱驗證,本想呼叫別人的伺服器,呼叫apache自帶的email包實現! 但Boos發話,要自己搭建一個郵箱伺服器。。。 先前使用了winMail,但是收費

james使用(一):windows環境下james3.0.1版本郵件伺服器搭建配置

1.介紹james是apache基金會下一款免費的提供pop3、stmp的開源免費郵件伺服器,其最新版本為james sever 3.0,網上充斥著許多2.3版本的配置,3.0使用了spring的架構,配置上有些許不同,在配置過程中爬了很多坑,特此記錄,給小夥伴們指明方向。後

利用外部smtp傳送郵件;linux傳送郵件;搭建郵件伺服器

利用外部smtp傳送郵件: 方法1: (推薦方法) http://blog.csdn.net/zhuying_linux/article/details/7091688  推薦方法,注意文中的命令列“-”複製出來後需要替換成英文的“-”。 測試命令: /usr/local

exchange 2003配置收發郵件的條件

我們不建議您為Exchange 伺服器使用動態IP,這樣可能會導致您的伺服器被列入黑名單。 Exchange 2003 伺服器接受入站郵件的最小條件如下: ·         可以通過Internet 訪問Exchange 伺服器的25埠。該訪問不能被防火牆或者其他網路

LVS虛擬伺服器介紹負載均衡系統配置

一、簡介         LVS(Linux Virtual Server) 是Unix-like系統中的一個虛擬伺服器,LVS在Unix-like系統中是作為一個前端(Director)存在的,又稱為排程器,它本身不提

伺服器Windows Server2012 配置SMPT和POP郵件伺服器並進行郵件傳送

一、安裝SMPT伺服器 1.新增角色和功能 2.勾選SMTP伺服器 二、配置SMPT伺服器 1.設定SMPT伺服器的屬性 右鍵SMPT-->屬性 2.設定域名 三、配置POP伺服器 Windows server 2012沒有自帶的POP服務,所以需要使用第三

Windows Server 2008 R2 配置Exchange 2010郵件伺服器並使用EWS傳送郵件

using System; using System.Net; using System.Net.Security; using System.Security.Cryptography.X509Certificates; using ExchangeEWS.com.adserv.mail; names

Druid 介紹配置

href tdi int class 們的 repo wall 內存 5% Druid是什麽? Druid是Java語言中最好的數據庫連接池。Druid能夠提供強大的監控和擴展功能。 2. 在哪裏下載druid 正式版本下載:maven中央倉庫: http://

AngularCLI介紹配置文件主要參數含義解析

prefix 域名 最佳實踐 netem cin 存儲 ng- idt 還需 使用Angular CLI可以快速,簡單的搭建一個angular2或angular4項目,是只要掌握幾行命令就能構建出前端架構的最佳實踐,它本質也是使用了webpack來編譯,打包,壓縮等構建的事

Spring介紹配置(XML文件配置和註解配置)

處理 tis 配置文件 3.0 span 特點 inverse logging 結構 本節內容: Spring介紹 Spring搭建 Spring概念 Spring配置講解 使用註解配置Spring 一、Spring介紹 1. 什麽是Spring

日誌組件slf4j介紹配置詳解

utf 字段 als itl -- owa 輸出結果 apt 查找 1 基本介紹 每一個Java程序員都知道日誌對於任何一個Java應用程序尤其是服務端程序是至關重要的,而很多程序員也已經熟悉各種不同的日誌庫,如java.util.logging、Apache log4j、

MySQL多實例介紹配置

MySQL 在之前的一篇文章中,已經有介紹到怎麽安裝和配置MySQl了(http://blog.51cto.com/superpcm/2092357)。接下來,MySQL中多實例的配置。1.什麽是MySQL多實例 簡單來說,MySQL多實例就是在一臺服務器上同時開啟多個不同服務端口,同時運行多個M

MySQL主從介紹配置

MySQL主從介紹及配置17.1 MySQL主從介紹 17.2 準備工作 17.3 配置主 17.4 配置從 17.5 測試主從同步 MySQL主從介紹及配置

MySQL的主從復制介紹配置

MySQL1.MySQL主從復制介紹 MySQL數據庫支持單向、雙向、鏈式級聯、環狀等不同業務場景的復制。在復制過程中,一臺服務器充當主服務器(Master),接收來自用戶的內容更新,而一個或多個其他的服務器充當從服務器(Slave),接收來自主服務器binlog文件的日誌內容,解析出SQL,重新更新到

dns伺服器搭建配置測試流程

1、使用 bind(Berkeley Internet Name Domain)搭建 DNS(Domain Name System)伺服器 安裝。 yum -y install bind-chroot 可先查詢是否已經安裝: rpm -q bind rpm -q bind-ch

keepalived介紹配置檔案詳解

keepalived介紹 Keepalived軟體起初是專為LVS負載均衡軟體設計的,用來管理並監控LVS集群系統中各個服務節點的狀態,後來又加入了可以實現高可用的VRRP功能。因此,Keepalived除了能夠管理LVS軟體外,還可以作為其他服務(例如:Nginx、Hapr

HikariCP 的Java資料庫連線池介紹配置

HiKariCP是資料庫連線池的一個後起之秀,號稱效能最好,可以完美地PK掉其他連線池。 原文地址:http://blog.csdn.net/clementad/article/details/46928621 官網:https://github.com/brettwooldridge/Hi

Apache Commons 工具類介紹使用

Apache Commons包含了很多開源的工具,用於解決平時程式設計經常會遇到的問題,減少重複勞動。 元件 功能介紹 BeanUtils 提供了對於JavaBean進行各種操作,