張貼者:電算中心/ 吳銹美 (center18)
標 題:郵件伺服器篇--POP3 SERVER
分 類:無類別 
內 容:
電算中心 ‧mail server 工作小組 ≡
  http://www.cc.ncu.edu.tw/mailncucc@cc.ncu.edu.tw

本期主題介紹的是:郵件伺服器篇--POP3 SERVER

Qpopper with TLS support


系統環境

Ubuntu 5.10 (Debian)
Sendmail 8.12.10
SASL 2.1.21
OpenSSL 0.9.7e
Qopper 4.0.5

介紹

Qpopper 具有幾個特色:佈告欄系統(Bulletins)、APOP (Authenticated Post Office Protocol)以及整合 Pluggable Authentication Modules (PAM),也支援 TLS 加密連線等功能。

佈告欄系統 (Bulletins)

以往系統管理者需要透過 email 傳送公告給每位使用者,需要分別將信件寄給每位使用者,會造成系統龐大的負擔。而透過 Qpopper 的 Bulletins ,僅僅需要將一封特定格式的公告檔案放置在公佈欄的位置,使用者透過 POP 連線時,系統便會自動將郵件傳送給使用者,避免額外的磁碟負擔。每份公告檔案開頭都會有一個唯一的遞增序號,Qpopper 透過這組序號紀錄那些使用者已經閱讀該公告,新增的使用者只會讀取到最近的公告(可以透過 configure 時的參數 --enable-new-bulls 作設定 )。也可以進一步將公告進行群組分類,讓屬於該群組的使用者才會接收到該公告。

APOP

Qpopper 支援 APOP (Authenticated Post Office Protocol) ,後端利用類似 SASLdb 的認證資料庫,認證機制類似 DIGEST-MD5,實際在網路上傳輸的只有 response,密碼不會外洩。

安裝

Ubuntu 5.10
apt-get install libpam0g-dev qpopper

Tarball
$cd /tmp
$wget ftp://ftp.nctu.edu.tw/network/mail/qpopper/qpopper4.0.8.tar.gz
$tar zxvf qpopper4.0.8.tar.gz
$cd qpopper4.0.8
$./configure --enable-bulletins=/var/spool/bulls --enable-group-bulls --enable-new-bulls=5 \\
--enable-standalone --with-openssl=/usr/lib/ssl --enable-specialauth --enable-timing
設定公佈欄路徑 --enable-bulletins=/var/spool/bulls
公佈欄群組支援 --enable-group-bulls
新進使用者讀取公佈欄個數 --enable-new-bulls=5
支援 StandAlone 啟動模式 --enable-standalone
設定 OpenSSL libaries --with-openssl=/usr/lib
將時間寫入紀錄檔 --enable-timing
$make
$make install
$sudo vi /etc/inetd.conf
加入
pop3 stream tcp nowait root /usr/local/lib/popper qpopper -s
$sudo killall -1 inetd

設定

$sudo vi /etc/qpopper.conf
set tls-support = stls
set tls-server-cert-file = /etc/mail/certs/server_cert.pem
set tls-private-key-file = /etc/mail/certs/server_key.pem

$sudo killall -1 inetd

發佈公告
1.建立一個純文字檔案,格式如下

From qpop Wed Dec 7 13:31:08 2005
Date: Wed, 7 Dec 2005 13:31:07 +0800
To: user@localhost
From: Administrator
Subject: 測試公告

Hello World! 這是內容!!

基本上可以透過一般常見的 MUA 來產生類似格式的郵件,但是第一行的 From 需要自行加上去,其餘欄位可以參考 RFC 822
注意!格式的空白與欄位相當 sensitive ,其中 Subject 和內容之間一定要有空行。

2.將檔案放到之前設定的 Bulletins 目錄 /var/spool/bulls ,並將其權限設成 666。 並將檔名依照下面的格式更改

序號.名稱
00001.test_bulletin

序號和名稱之間有個 ".",切記!當有新的公告時,序號要遞增,而使用過的序號不能夠重複使用!!例如:
00001.test_bulletin
00002.the_second_test_bulletin
00003.Hello_guys

3.若您有開啟 Groups 功能 (configure 時有加入 --enable-group-bulls 選項) ,則檔名格式可改用:

序號.群組.名稱
00032.college.new_course

則此封郵件僅會傳送給屬於 college 群組的人

參考資料

Qpopper

參考網址

http://antispam.ncu.edu.tw/server/qpopper.html

資 訊:張貼時間 2006-01-03 09:12:48,本篇曾選錄於第 019 期電子報。