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

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

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

一、簡介
Apache James(Java Apache Mail Enterprise Server)是Apache組織的子專案之一,完全採用純Java技術開發,實現了SMTP、POP3與NNTP等多種郵件相關協議。

James也是一個郵件應用平臺,可以通過Mailet擴充其功能,如Mail2SMS、Mail2Fax等。James提供了比較完善的配置方案,尤其是關於郵件內容儲存和使用者資訊儲存部分,可以選擇在檔案、資料庫或其他介質中儲存。


本文將以James2.3.2版本作為介紹

二、安裝與配置
James的安裝配置過程非常簡單。

第一步:安裝JDK

請使用JDK1.3以上版本(推薦使用JDK1.5),假設安裝在c:/jdk1.5。

第二步:下載James,並解壓

可以到Apache網站上下載Jamesjames-2.3.2,下載將得到一個壓縮檔案james-2.3.2.zip,大小為7.30M,將此包解壓到c:/james。

第三步:直接執行或需要配置JAVA_HOME

這時,可以嘗試直接雙擊c:/james/bin/run.bat,若啟動無誤,將提示如下:

Using PHOENIX_HOME:   C:/james
Using PHOENIX_TMPDIR: C:/james/temp


Using JAVA_HOME:

Phoenix 4.0.1

James 2.3.2
Remote Manager Service started plain:4555
POP3 Service started plain:110
SMTP Service started plain:25
NNTP Service Disabled
Fetch POP Disabled

也有可能啟動不了,並報JAVA_HOME找不到,這時,需要指定JAVA_HOME,比較簡單的方法是在c:/james/bin/run.bat中指定JAVA_HOME,修改後的run.bat如下:

……
rem
rem Determine if JAVA_HOME is set and if so then use it

rem
set JAVA_HOME= c:/jdk1.5
if not "%JAVA_HOME%"=="" goto found_java
……

修改完後再執行run.bat,應該就可以正常啟動了

第四步:伺服器配置

首先找出專用伺服器的名字,假設叫weimao。

然後開啟檔案c:/james/apps/james/SAR-INF/config.xml。

在config.xml檔案中,找到<postmaster>[email protected]</postmaster>,把此項改為<postmaster>[email protected]</postmaster>,同理,找到<servername>localhost</servername>,把此項改為<servername>weimao</servername>。其實,改這兩項就是把預設的localhost改為機器名,這樣做是為了讓其它機器也能訪問郵件系統,當然,前提是在區域網上沒有與伺服器重名的機器。

帳號管理

James的賬號管理是通過telnet完成的,登入命令為:

telnet localhost 4555

登入時需要使用者名稱和密碼,初始的使用者名稱和密碼均為root。若登入成功,提示如下:

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

需要注意的是,所有敲入的命令都不顯示在螢幕上。
輸入help,將出現命令的幫助,資訊如下:

JAMES Remote Administration Tool 2.1
Please enter your login and password
Login id:
Password:
Welcome root. HELP for a list of commands
Currently implemented commands:
help                                    display this help
listusers                               display existing accounts
countusers                              display the number of existing accounts
adduser [username] [password]           add a new user
verify [username]                       verify if specified user exist
deluser [username]                      delete existing user
setpassword [username] [password]       sets a user's password
setalias [alias] [user]                 locally forwards all email for 'alias' t
o 'user'
unsetalias [alias]                      unsets an alias
setforwarding [username] [emailaddress] forwards a user's email to another email
address
unsetforwarding [username]              removes a forward
user [repositoryname]                   change to another user repository
shutdown                                kills the current JVM (convenient when J
ames is run as a daemon)
quit                                    close connection

常用的命令有listusers、countusers、adduser、deluser、setpassword等。

其中新增使用者為adduser,例如:adduser holen 123456。

通過這個後臺管理介面,管理員就可以實現賬號管理及其他相應的管理功能。

接下來可以用客戶端連線傳送測試郵件了,我採用的formail。

開啟formail點選新建一個帳號。比如我剛才添加了一個帳號weimao,密碼為123456如何在Outlook中配置呢。如何在formail中配置呢?

首先,根據使用者名稱,可以得出該使用者郵箱地址為weimao@weimao ,然後在輸入POP3和SMTP伺服器時,直接使用伺服器機器名weimao即可。

接下來最終要的一個環節。就是我們搭建伺服器是要給外網的郵箱傳送的。

下面講如何配置傳送:

開啟../james/apps/james/SAR-INF/config.xml檔案,
1. 找到<servernames autodetect="true" autodetectIP="true"> 設成 <servernames 
  autodetect="false" autodetectIP="false"> autodetct設為true會自動偵測你的主機名,
  設成false會用你指定的server name. autodetectIP設為true會為你的servername加上ip.
2. 設定servername 將預設的為localhost改成你的server名字 如weimao.net, 然後開啟   
  C:/WINDOWS/system32/drivers/etc/hosts檔案,新增 127.0.0.1   weimao.net
3. 註釋掉
    <mailet match="RemoteAddrNotInNetwork=127.0.0.1" class="ToProcessor> 
    <processor> relay-denied </processor> 
    <notice>550 - Requested action not taken: relaying denied</notice>

    </mailet>
4. 配置DNS Server 
  在cmd中用ipconfig /all 命令檢視你的dns server ip
  DNS Servers . . . . . . . . . . . : 202.96.209.6 
                        192.168.1.1

  新增如下:
  <dnsserver> 
    <servers> 
    <server>202.96.209.6</server> 
    <server>192.168.1.1</server>

  同時設定autodiscover為false
5.重啟server 就ok了。

本人傳送給126,163,QQ都沒問題,hotmail和sina會當做junk mail拒收.sina會去反域名解析,如果你有域名的話應該沒問題的.

如果有域名的話直接配置一下MX就可以了。剩下的就是我們採用程式來進行傳送,在這裡我就不貼程式碼了,網上一大推。大家自己去看看吧。

有什麼問題可以直接郵件我:[email protected]

相關推薦

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

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

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

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

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

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

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

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

exchange 2003配置收發郵件的條件

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

RIP簡單介紹基本配置

nbsp ext 路由表 狀態 ethernet pc機 查看 rip v1 watermark 配置R1,R2,R3-RIP版本1R1,R2,R3同下rip 1 network 172.16.0.0debug命令,查看rip數據接收情況debugging rip 1 te

HCNA——RIP簡單介紹基本配置

除了 rip v1 們的 routing 優先 p地址 response 大小限制 由器 HCNA——RIP簡單介紹及基本配置 路由信息協議RIP 路由信息協議RIP(Routing Information Protocol)的簡稱,它是一種基於距離矢量(Distance-

zookeeper的簡單介紹安裝配置

1.zookeeper應用場景 資料釋出與訂閱(配置中心) 負載均衡 命名服務 分散式通知/協調 叢集管理與Master選舉 分散式鎖 分散式佇列 2.zookeeper問題排查大致方向 tickTi

JavaMail傳送郵件API簡單介紹

主要API: 1、Message類:建立解析郵件的內容 2、Transport類:傳送郵件的API 3、Store類:接收郵件的API 4、Session類:配置郵件伺服器的主機名,埠號,採用的郵件傳送和接收的協議。 JavaMail傳送郵件相關的jar包: 1、activ

Jmeter簡單介紹環境配置(零)

Jmeter介紹 apache jmeter是100%的java桌面應用程式,jmeter可以模擬大量的伺服器負載、網路負載、軟體物件負載,通過不同的載入型別全面測試軟體的效能。並且jmeter提供圖形化的效能分析。 優點:小巧,不需要安裝,但需要JDK環境,因為它是使用java開

幾種伺服器端IO模型的簡單介紹實現

一些概念: 同步和非同步 同步和非同步是針對應用程式和核心的互動而言的,同步指的是使用者程序觸發I/O操作並等待或者輪詢的去檢視I/O操作是否就緒,而非同步是指使用者程序觸發I/O操作以後便開始做自己的事情,而當I/O操作已經完成的時候會得到I/O完成的通知。 阻塞和非阻塞 阻塞和非阻塞是針對於程序在

Ehcache 的簡單實用 配置

stat import create 緩沖 .org 應該 單引號 ide date Ehcache 與 spring 整合後的用法,下面是一個Ehcache.xml配置文件; 通用的緩存策略 可以用一個 cache; 1 <?xml version="1.0"

mongoDB簡單介紹安裝

疑問 每次 data- .org 存儲 cmd 針對 安裝包 目錄 近期一段時間對mongoDB進行了簡單的學習,從它是什麽?幹什麽?怎麽用?優缺點?這一系列的疑問到如今可以簡單運用。我想須要對其進行簡單的總結和概述。那麽這一篇就從最基礎的開始,對其

展示C代碼覆蓋率的gcovr工具簡單介紹相關命令使用演示樣例

文件夾 mes repo 例如 oid else if dir total down (本人正在參加2015博客之星評選,誠邀你來投票,謝謝:username=zhouzxi">http://vote.blog.csdn.net/blogstar2015

Golang學習-第一篇 Golang的簡單介紹Windows環境下安裝、部署

需要 簡單 電腦 pan 生成文件 多核 -- pear () 序言 這是本人博客園第一篇文章,寫的不到位之處,希望各位看客們諒解。 本人一直從事.NET的開發工作,最近在學習Golang,所以想著之前學習的過程中都沒怎麽好好的將學習過程記錄下來。深感惋惜! 現在將Gola

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來編譯,打包,壓縮等構建的事

關於WSL(Windows上的Linux子系統)的簡單介紹安裝

更新 允許 服務器 不能 targe cnblogs 之前 xshel 設置 WSL,Windows Subsystem for Linux,就是之前的Bash on [Ubuntu on] Windows(嗯,微軟改名部KPI++ 首先要說一句,其實Win

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、