作者 主題: sendmail 虛擬主機  (閱讀 10971 次)

0 會員 與 1 訪客 正在閱讀本文。

lions4917

  • 懷疑的國中生
  • **
  • 文章數: 33
    • 檢視個人資料
sendmail 虛擬主機
« 於: 2010-08-19 01:14 »
各位大大

小弟最近想做主機代管...
因此WEB 和 MAIL 都要建立虛擬主機來服務不同公司
Apache已經OK...
但Mail卻困擾我很久...我想應該不是/etc/mail/local-host-name裡面加一加這麼簡單吧
因為寄出時信件帶出的DomainName大家都一樣

請問有沒有正確做法可以參考呢

hikohan

  • 俺是博士!
  • *****
  • 文章數: 1288
    • 檢視個人資料
lifeIsFunWithPHP.

kenduest

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3675
    • 檢視個人資料
    • http://kenduest.sayya.org
回覆: sendmail 虛擬主機
« 回覆 #2 於: 2010-08-19 16:33 »
各位大大

小弟最近想做主機代管...
因此WEB 和 MAIL 都要建立虛擬主機來服務不同公司
Apache已經OK...
但Mail卻困擾我很久...我想應該不是/etc/mail/local-host-name裡面加一加這麼簡單吧
因為寄出時信件帶出的DomainName大家都一樣

請問有沒有正確做法可以參考呢

所寫的 web 程式,要自己指定帶 From: 欄位這樣就可以避免相同的問題了。
I am kenduest - 小州

my website: http://kenduest.sayya.org/

lions4917

  • 懷疑的國中生
  • **
  • 文章數: 33
    • 檢視個人資料
回覆: sendmail 虛擬主機
« 回覆 #3 於: 2010-08-19 18:54 »
所寫的Web程式!?
這句我不太懂...我想用sendmail 和 Openwebmail 在做虛擬主機服務不同公司
一定要自己寫程式哞?
如果要寫..要寫在哪裡呢?

謝謝

anderson1127

  • 訪客
回覆: sendmail 虛擬主機
« 回覆 #4 於: 2010-08-19 21:06 »
如果樓主想做的是Sendmail smtp Virtual Host , 那可能要多費點心思了...
如果不具備以下知識,那還是回頭去多念書打基礎吧!!

1. Sendmail Virtual Host Configuration: 有沒有Google過原文資料? 沒有的話去Google吧!!
2. NameBase or IP Base Virtual host : 別懷疑,不是只有Apache才有, MailServer當然也有!!
3. Linux / Unix Basic or Advanced administration : 這個才是基本中的基本,要玩到SMTP Virtual Host,那已經是踏入Advance領域了...

說實話,有沒有聽過UNIX/Linux是一架性能超高級的飛機故事? 因為這台飛機要怎麼建造,具備那些功能,或者不具備那些功能,全部都
OPEN SOURCE給你擁有,現在的問題是,打造這台飛機的人功力問題而已!!

kenduest

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3675
    • 檢視個人資料
    • http://kenduest.sayya.org
回覆: sendmail 虛擬主機
« 回覆 #5 於: 2010-08-19 21:25 »

若你是說你要提供 vhost 給他人使用,那這個問題並非你可以處理的,因為對方 web 程式呼叫你 sendmail 時候寄信都會帶有你預設 hostname 來寄出。

若你是使用該 vhost 的 web 服務,若是要讓寄信人不要帶原本 server 主機名稱那個還很簡單就是,因為 web 程式碼改改即可。
I am kenduest - 小州

my website: http://kenduest.sayya.org/

lions4917

  • 懷疑的國中生
  • **
  • 文章數: 33
    • 檢視個人資料
回覆: sendmail 虛擬主機
« 回覆 #6 於: 2010-08-20 10:21 »
我再說明詳細一點好了...
我自己架apache 和 sendmail ... 再利用Virtual Host來服務不同DomainName
WEB是OK的.. Mail接收也沒問題
而sendmail在外寄時只會帶出hostname 因此大家DomainName都相同了
架構只是單純的 sendmail + outlook
我不太懂要在哪裡改WEB程式...?
難道那些主機代管Mail又是如何做到的呢?

我是新手...感謝您的耐心
謝謝

anderson1127

  • 訪客
回覆: sendmail 虛擬主機
« 回覆 #7 於: 2010-08-20 11:04 »
新手就有這種挑戰進階Level的configuration , 是很好啦,不過.....
這種設定是問題一大堆喔.... 有些問題嚴重要可能要自己寫程式來改善,你也要挑戰嗎?

如果有時間,還是自己去Google找找資料,可能還比較好!! 我想這裡有能力提供這方面的solution
的人,應該不是很多才對 !! 自己多努力吧....

kenduest

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3675
    • 檢視個人資料
    • http://kenduest.sayya.org
回覆: sendmail 虛擬主機
« 回覆 #8 於: 2010-08-20 12:45 »
我再說明詳細一點好了...
我自己架apache 和 sendmail ... 再利用Virtual Host來服務不同DomainName
WEB是OK的.. Mail接收也沒問題
而sendmail在外寄時只會帶出hostname 因此大家DomainName都相同了
架構只是單純的 sendmail + outlook
我不太懂要在哪裡改WEB程式...?
難道那些主機代管Mail又是如何做到的呢?

我是新手...感謝您的耐心
謝謝

你的問題似乎把許多東西混在一起討論了,而且你現在講的東西與一開始的項目差很大。老實說,這不大像是初學者要處理的問題,我開始懷疑這是貴單位的需求,哈哈.....

首先你要了解的是,若你只是說 Web 的虛擬主機,那就只是一般 virtual host 組態設定就好,後續可以提供不同網站都有各自網頁。若你要談是說 web 內的程式會有寄信功能,那就以 php 來說單純用 mail() 函數呼叫,預設帶的 From 寄件人是帶有該 server 的主機名稱就是。若你要讓 From: 寄件人改掉,那就是你自己 web 程式的調整,比方 php code 像是:

代碼: [選擇]
<?php
$to      
= &#39;userid@yahoo.com&#39;;
$subject = &#39;test mail&#39;;
$message = &#39;just a test message&#39;;
$headers = &#39;From: webmaster@www.mydomain.com&#39; . "\r\n" .
    
&#39;Reply-To: userid@yahoo.com&#39; . "\r\n";
mail($to$subject$message$headers);
?>


當然,問題點來看,你當初說的問題是你要提供該服務給他人用,那很抱歉該問題你無法處理.... 比方對方若真的用到 mail 寄出功能,對方不一定使用該方式,所以預設會帶那台 server 的 "hostname" 主機名稱當寄件人 e-mail 內的一部分.. 國外一堆虛擬主機都是這樣的,比方預設寄信沒指定過,發件者會類似像是 webserver1.xxxx.com 這類。

再來,不大清楚為何你要另外拉出 outlook 這類問題呢,因為這個與虛擬主機本質上並沒有直接的關係,也模糊了該問題。

基本上,若你又讓該 server 提供 mail 功能也可以,那只是一般 smtp 與 pop3 等配置議題而已。若要與你提到所謂主機名稱一樣問題,基本上這也不會有問題... 因為寄件人的 e-mail 帳號是 client 指定的,比方你用 outlook 就是自己指定寄件人為何,這樣他人收到信件看到寄件者就是你所指定的項目,並沒有所謂相同的問題。
I am kenduest - 小州

my website: http://kenduest.sayya.org/

lions4917

  • 懷疑的國中生
  • **
  • 文章數: 33
    • 檢視個人資料
回覆: sendmail 虛擬主機
« 回覆 #9 於: 2010-08-20 13:34 »
這樣說好了...
我想架一台sendmail提供給很多公司使用..他們都用outlook來收發信
該台Linux主機名稱為test.com.tw
在/etc/mail/local-host-name裡有設可接收這3個網域名稱
aaa.com.tw
bbb.com.tw
ccc.com.tw
收信都沒有問題..但外寄時都顯示 user@test.com.tw
醬子挺困擾的
有沒有方式可以設定 user1強制用aaa.com.tw這名稱寄出
                        user2強制用bbb.com.tw這名稱寄出
                        user3強制用ccc.com.tw這名稱寄出

依您的說法...
這個在技術上是辦不到的囉?
那還有什麼做法可以變通呢?
國外的主機代管都是醬子"不完美"囉?
我看到webmin有外寄網域的選項..這有關係哞?
(Your sendmail configuration does not have the outgoing address mapping (generics) feature enabled.)

謝謝 (再次謝謝您的耐心指導)
« 上次編輯: 2010-08-20 13:36 由 lions4917 »

kenduest

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3675
    • 檢視個人資料
    • http://kenduest.sayya.org
回覆: sendmail 虛擬主機
« 回覆 #10 於: 2010-08-20 13:53 »

基本上用 outlook,寄件人是 client 端指定的,基本上沒啥強制吧,但是你可以禁止不該出現的...

比方只有 user1@aaa.com.tw,不允許帶有 @bbb.com.tw 就是...

/etc/mail/access :

代碼: [選擇]
From: user1@bbb.com.tw  REJECT
From: user1@ccc.com.tw  REJECT
I am kenduest - 小州

my website: http://kenduest.sayya.org/

lions4917

  • 懷疑的國中生
  • **
  • 文章數: 33
    • 檢視個人資料
回覆: sendmail 虛擬主機
« 回覆 #11 於: 2010-08-20 13:58 »
我原本也是這麼以為..
但實做出來的結果並不是如此...
outlook內設定自己的Mail Address 為 user1@aaa.com.tw
但對方收到仍是
user1@test.com.tw
因此仍然用該sendmail主機名稱寄出

kenduest

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3675
    • 檢視個人資料
    • http://kenduest.sayya.org
回覆: sendmail 虛擬主機
« 回覆 #12 於: 2010-08-20 14:03 »
我原本也是這麼以為..
但實做出來的結果並不是如此...
outlook內設定自己的Mail Address 為 user1@aaa.com.tw
但對方收到仍是
user1@test.com.tw
因此仍然用該sendmail主機名稱寄出

你大概又用啥 webmin 亂改啥設定吧,這樣很難回答問題的。檢查有無亂設定 MASQUERADE 項目。

我個人還是要建議,不要濫用 webmin 這種工具就是,問題多.... 若你還是要用來當商業環境使用,底層細節要能夠自己掌握。
I am kenduest - 小州

my website: http://kenduest.sayya.org/

hikohan

  • 俺是博士!
  • *****
  • 文章數: 1288
    • 檢視個人資料
回覆: sendmail 虛擬主機
« 回覆 #13 於: 2010-08-20 14:07 »
所以囉,hosting colocation不是那簡單啦。

web + sql + pop3 + ftp + web UI backend + quota + bandwidth + QoS + SA.....

如果真的有興趣,到人力網找主機代管的工作,窩個一兩年,仔細評估後再跳出來幹。
lifeIsFunWithPHP.

lions4917

  • 懷疑的國中生
  • **
  • 文章數: 33
    • 檢視個人資料
回覆: sendmail 虛擬主機
« 回覆 #14 於: 2010-08-20 14:12 »
還沒用webmin來改..
只是看到這功能...不知道有沒有相關我的問題..
因為大部份參考書藉都沒有討論到這段
sendmail指定帳號套用外寄域名的設定

damon

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 4227
    • 檢視個人資料
    • http://blog.damon.tw/
回覆: sendmail 虛擬主機
« 回覆 #15 於: 2010-08-20 14:20 »
我猜這是新人剛到新職位的工作吧,說實話,這個年代,有vm,vps了,還要這樣土法煉鋼,是沒甚麼太大意義的

kenduest

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3675
    • 檢視個人資料
    • http://kenduest.sayya.org
回覆: sendmail 虛擬主機
« 回覆 #16 於: 2010-08-20 14:38 »
我猜這是新人剛到新職位的工作吧,說實話,這個年代,有vm,vps了,還要這樣土法煉鋼,是沒甚麼太大意義的

但是我認為屬於不同層級的。

我到是感覺這領域 10 年來一看,晚期現在也才有 vm, vps 等大量應用,早期很辛苦需要弄不少東西。不過若是給一些新進入該領域的人了解也不錯,至少可以懂很多觀念。

置於外面買 vps 的費用,一般還是會比純 virtual host 的費用高很多,畢竟硬體負擔的需求比較大。
I am kenduest - 小州

my website: http://kenduest.sayya.org/

lions4917

  • 懷疑的國中生
  • **
  • 文章數: 33
    • 檢視個人資料
回覆: sendmail 虛擬主機
« 回覆 #17 於: 2010-08-20 14:43 »
我也想要用VM來處理
但這樣會消耗我1個固定IP
況且..我也已經用VM了..只是想再細切Virtual Host 來服務不同公司
我想這樣應該效益較好

hikohan

  • 俺是博士!
  • *****
  • 文章數: 1288
    • 檢視個人資料
回覆: sendmail 虛擬主機
« 回覆 #18 於: 2010-08-20 15:09 »
州大現在看這領域應該是第2看囉?   ;D

敬禮!



我到是感覺這領域 10 年來一看,晚期現在也才有 vm, vps 等大量應用,早期很辛苦需要弄不少東西。不過若是給一些新進入該領域的人了解也不錯,至少可以懂很多觀念。
lifeIsFunWithPHP.

anderson1127

  • 訪客
回覆: sendmail 虛擬主機
« 回覆 #19 於: 2010-08-20 16:28 »
其實,Mail Server的Virtual host算是最難搞定的一個Project , 因為之前小弟剛出社會時,進入一家ISP
(那時根本沒有ADSL這玩意,上網都是靠Lease Line [專線]或是ISDN,個人就是用56K modem)
見親眼見識到RD交給我設定管理的Virtual Host (WEB & Mail Server)是用change root 硬搞出來的架構

以WEB來說,早期的Virtual host也都是以IP Base為主,不像最近幾年NameBase的流行(這還得感謝Browser支援)
但是Mail Server的Virtual Host還是分成兩派,一派是IP Base ,一派是Name Base ,各有優缺點,樓主有興趣不妨想想
這兩個架構的優缺點在那...

我是很有興趣開發這一整套完整的設定啦,不過....我認定,就算開發出來,恐怕也沒有市場價值了.... 所以這個專案
我暫時會無限擱置 !! 不會去開發了....

twu2

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 5394
  • 性別: 男
    • 檢視個人資料
    • http://blog.teatime.com.tw/1
回覆: sendmail 虛擬主機
« 回覆 #20 於: 2010-08-20 16:40 »
如果確定是 sendmail 改的 (改用另一個 smtp server 寄看看就知道了), 那... 就去研究 sendmail 的設定吧.

不過對我來說... 那個設定像天書一樣, 我會換一個比較容易設定或看的懂的 MTA 來用.

lions4917

  • 懷疑的國中生
  • **
  • 文章數: 33
    • 檢視個人資料
回覆: sendmail 虛擬主機
« 回覆 #21 於: 2010-08-20 18:50 »
各位博士

我剛剛發現...
在Fedora 12 + sendmail 8.14.3 居然沒有這問題..
可以依outlook設定的DomainName..直接寄出
user1@aaa.com.tw
user2@bbb.com.tw
OK耶!!!!!!

而我的CentOS 5.5 + sendmail 8.13.8 不行...只能統一帶出DomainName
設定一模一樣 (我也只會這幾招)
這....我們漏掉了什麼嗎?

我再架一台Fedora來確認確認~~~~或rpm -iUh一下sendmail
« 上次編輯: 2010-08-20 18:52 由 lions4917 »

kenduest

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3675
    • 檢視個人資料
    • http://kenduest.sayya.org
回覆: sendmail 虛擬主機
« 回覆 #22 於: 2010-08-20 20:44 »
各位博士

我剛剛發現...
在Fedora 12 + sendmail 8.14.3 居然沒有這問題..
可以依outlook設定的DomainName..直接寄出
user1@aaa.com.tw
user2@bbb.com.tw
OK耶!!!!!!

而我的CentOS 5.5 + sendmail 8.13.8 不行...只能統一帶出DomainName
設定一模一樣 (我也只會這幾招)
這....我們漏掉了什麼嗎?

我再架一台Fedora來確認確認~~~~或rpm -iUh一下sendmail


看一下 sendmail.mc 內的 m4 設定,關於 MASQUERADE 部份
I am kenduest - 小州

my website: http://kenduest.sayya.org/

lions4917

  • 懷疑的國中生
  • **
  • 文章數: 33
    • 檢視個人資料
回覆: sendmail 虛擬主機
« 回覆 #23 於: 2010-08-20 23:56 »
cat sendmail.mc | grep masquerade

dnl # masquerade not just the headers, but the envelope as well
dnl FEATURE(masquerade_envelope)dnl
dnl # masquerade not just @mydomainalias.com, but @*.mydomainalias.com as well
dnl FEATURE(masquerade_entire_domain)dnl

奇怪...兩個sendmail這部份都一樣
只是Fedora沒有用Web Virtual Host 和 Sendmail 8.14版
明天去公司好好驗證一下


rainday

  • 鑽研的研究生
  • *****
  • 文章數: 738
  • 性別: 男
  • enhancing and optimizing
    • 檢視個人資料
回覆: sendmail 虛擬主機
« 回覆 #24 於: 2010-08-21 01:26 »
用sendmail -bt  debug mode檢測吧

要用sendmail,就要摸熟裡面的功能,mc及m4的用法,想要的功能大致上都做的到,能控制的很細部,缺的功能就自行寫code吧,而且郵件不是只有收跟發這麼簡單,畢竟客戶總是會有客戶的要求,效能及資源的分配也是一個重點
有考慮用postfix嗎,參數及設定都比較直接點,比較好入手

sendmail官網的Doc其本上已經算是詳細的說明了,還有就是蝙蝠書了,再來就是看檔案的註解說明
« 上次編輯: 2010-08-21 01:38 由 rainday »
<0  =_=  Don't learn to hack , hack to learn.

lions4917

  • 懷疑的國中生
  • **
  • 文章數: 33
    • 檢視個人資料
回覆: sendmail 虛擬主機
« 回覆 #25 於: 2010-08-21 01:34 »
呵呵

若postfix可以輕易做到強制帳號對映外送域名
當然樂意使用囉

^^