sendmail routing: virtusertable, mailertable, smarttable
公司老闆對信件的管制都會有一些要求, sendmail的routing機制, 其實都可以應付的來, 其中3個主要設定表格應該就可以處理大部份狀況: virtusertable, mailertable, smarttable, 分別討論如下。 1. virtusertable 這個表格原本用來做主機代管, 一台主機要host 10家公司(網域)的email, 必然會收到10個不同網域的信件, 但實際上這主機的名稱只有一個; 這時, 就用這個表格來將對應虛擬email address到實際的位址。例如: sales@example.com jill info@book.org sara@writer.com 2. mailertable 這個表格用來決定特定收件者網域的信要用什麼協定轉寄到那台主機(或網域), 它不管寄信者是誰。所以如果你想要設定的規則是"由誰寄來的都如何....", 那麼這個表格無法處理。它可以處理的是"寄到某網域的信都轉到那裡..."這樣的要求, 例如: book.org smtp:writer.com 這樣的設定, 會將要寄到book.org這個網域的信都轉寄到writer.com這個網域, 而且改用smtp這個協定來傳送, 現在一般都使用esmtp這個比較新的協定, 如果有比較老舊的主機無法處理新的協定, 利用這個mailertable, 也是一個方式。 writer.com local:pat 這個設定可以將所有要寄到writer.com網域的信, 都轉寄給本機上的pat這個使用者。 writer.net esmtp:[192.168.0.1] 這個設定, 則是直接將要寄到writer.net網域的信, 都轉寄給192.168.0.1這台主機。前面的例子中, 指定轉寄到另一個網域時, sendmail還是要決定那個網域的郵件主機是那台, 然後還是將信傳送到那台主機。而這個決定的方法, 就取決於你的sendmail設定, 還有DNS裡MX record的設定。所以如果你想跳過那些設定, 或者讓轉寄到那台主機更明確, 這個設定法就簡單明瞭。 3.