iThome online | iThome Blog | iThome周刊訂閱

載入中...

twtw

IT邦初學者
9級

[RoR] 多人用虛擬轉址信箱的建置(1)

保護自己真正 email 地址,或者可以有多個不同名稱的 email 來處理工作上的不同需要,是虛擬轉址信箱常見的應用;這兩天就來說明虛擬轉址信箱如何建置,並且如何與 RoR 來做簡單的結合運用。



收到書籤:發佈到twitter      
分享時間:2008-09-20 07:53:38

▼ ADVERTISEMENT ▼

分享內容(
6

為什麼要虛擬轉址信箱?
常常要看一些網站內容,需要註冊又要提供email地址來認證,又不想對那些網站提供自己的真正email地址,若可以隨自己建立無數個虛擬信箱的話,如果發現透過哪個虛擬信箱一直來垃圾信的話,就把那個虛擬信箱給移除掉,垃圾信就不會進來了。

如果有網站以一個 email 來投一票的話,您就是大票倉了…,所以別用email來認個別的一票。

單位信箱常會建立一個實體帳號來收信,若人員異動,信箱的管理和交接有點麻煩,所以可以單位信箱以虛擬轉址的方式,轉寄到業務承辦人的信箱,若異動就只要改轉址目的即可。

建立虛擬轉址信箱的步驟
以 sendmail 為例,Fedora 已預設安裝完成,但只能 local 主機,自己寄自己,可透過以下步驟讓自己的主機的 email 功能在網路上生效,及提供虛址轉址的能力。首先也要在 DNS 上新設一個 A record 指到您的主機IP。

yum install sendmail-cf
cd /etc
cp -pr mail mail.orig
cd /usr/share/sendmail-cf/cf
# 以 /usr/share/sendmail-cf/cf/generic-linux.mc 為基礎來編輯sendmail.mc
vi sendmail.mc
# sendmail.mc 檔案開始
divert(-1)
# ....
divert(0)dnl
VERSIONID(`$Id: generic-linux.mc,v 8.1 1999/09/24 22:48:05 gshapiro Exp $')
OSTYPE(linux)dnl
DOMAIN(generic)dnl
undefine(`UUCP_RELAY')dnl
undefine(`BITNET_RELAY')dnl
MASQUERADE_AS(主機名稱)dnl
define(`confBAD_RCPT_THROTTLE', `3')dnl
define(`confTO_IDENT',`0s')dnl
define(`confMILTER_LOG_LEVEL',`1')dnl
define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl
FEATURE(local_procmail)dnl
FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
FEATURE(redirect)dnl
FEATURE(always_add_domain)dnl
FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable')dnl
FEATURE(`access_db', `hash -T<TMPF> -o /etc/mail/access')dnl
FEATURE(`mailertable',`hash -o /etc/mail/mailertable')dnl
FEATURE(`blacklist_recipients')dnl
MAILER(smtp)dnl
MAILER(procmail)dnl
# sendmail.mc 檔案結束
./Build sendmail.cf
cp sendmail.cf /etc/mail/sendmail.cf
cd /etc/mail
# 虛擬主機的名稱加在這裡 local-host-names  本身才會收下來,當然也把主機本身的名稱也加在此處
vi local-host-names
# 
vi virtusertable
# 詳細設法參考 http://www.sendmail.org/tips/virtualHosting 裡的 Sendmail Configuration 的第 4 點
# virtusertable 單純的設定內容如下
#
# 1. 如果要寄到該主機自己的帳號中的話:
joe@yourdomain.com jschmoe
# 2. 如果要轉寄到您外部信箱的話
jane@yourdomain.com jdoe@othercompany.com
# 3. 建議不用此寫法,那麼垃圾信猜任何的 user name 通通會寄成功到您信箱中
@yourdomain.com jschmoe
# virtusertable 內容結束
# 一定一定要執行這個動作才會生效
makemap hash virtusertable < virtusertable
/etc/init.d/sendmail restart

利用 RoR 讓 user 自行增減虛擬信箱
上述的這些指令,即可將主機建立好虛擬信箱的機制,而每次要增減虛擬信箱,就要管理者上到主機來編寫 virtusertable 內容,並執行 makemap 的動作才生效。所以目標是利用 RoR 來建置一個讓註冊了的 user 可以自行去新增虛擬信箱的名稱,並指定轉到個別所指定的信箱中。

參考資料:http://www.sendmail.org/tips/virtualHosting

[RoR] 多人用虛擬轉址信箱的建置(1)
eddy1213( IT邦初學者9級 )
2008-09-20 23:00:16
1. Exchange
2. Google Apps(一年 10 美元 DNS 費用 -> 平民化, 經濟上每個人都玩的起)
上述二者都可以輕易的使用 GUI 介面建立為每個 Physical Email Account 建立多個 Email Alias Name!
lbcgh( IT邦初學者6級 )
2008-09-21 02:07:59
GMail有提供帳號別名的功能,可以有多個不同名稱的 email 來處理不同需要
例如帳號 'ithelp' ,可以使用'加號'('+')後面加其他字,GMail 都會以加號前視為你的帳號。
舉例來說,'ithelp+ithome@gmail.com' 一樣會在'ithelp@gmail.com' 的信箱收到,而你可以從「收件人」裡看到這封信是寄給那個別名的。

回應

請填寫您的回應,長度限為1,000個字,回應不計點數,也不限使用次數



 

檢舉違規

違規事項:

*補充檢舉理由(可省略),字數不可超過100字

推薦

推薦理由:


*給回答者的鼓勵(可不填),字數不可超過100字

▼ ADVERTISEMENT ▼

熱門標籤

 cisco   crystal   exchange   it   java   javascript   linux   m-power   mail   microsoft   msnlib   msnp15   msnsdk   msn機器人   mysql   nas   oracle   outlook   pmi   pmp   raid   report   sap   server   smartquery   sql   vista   windows   xp   倍力   倍力資訊   免費軟體   國際專案管理師   報表   專案管理   微軟   有話大聲說   活動   省錢   網路   網路儲存   網路管理   網頁安全   網頁設計   資安   資料庫   資訊安全   防毒軟體   2003   2008