這一小節會先設定一些 Postfix 的基本參數,等 Postfix 能正常運作之後,再來進一步探討其他的參數設定。另外這裡是把 SMTP 及 POP3 Server 都架設在同一部主機上,這樣在實作上也會比較單純及方便。
設定 SMTP Server
suse:/etc/postfix #vi main.cf
# The queue_directory specifies the location of the Postfix queue. queue_directory = /var/spool/postfix # 這是佇留信件所存放的目錄位置。
# The command_directory parameter specifies the location of all postXXX commands. command_directory = /usr/sbin # 指定所有 postxxx 指令 (如 postfix、postalias、postconf 等) 所存放的目錄位置。
# The daemon_directory parameter specifies the location of all Postfix daemon programs # (i.e. programs listed in the master.cf file). This directory must be owned by root. daemon_directory = /usr/lib/postfix # 指定所有 Postfix 相關 daemon 所存放的目錄位置。
# The mail_owner parameter specifies the owner of the Postfix queue and of most # Postfix daemon processes. mail_owner = postfix # 指定 Postfix 佇列目錄的擁有者及大部分 Postfix daemon 程序的執行身分。
# The myhostname parameter specifies the internet hostname of this mail system. # $myhostname is used as a default value for many other configuration parameters. myhostname = mta.paching.idv.tw # 指定您 Mail Server在 Internet 上的完整主機名稱。
# The mydomain parameter specifies the local internet domain name. # The default is to use $myhostname minus the first component. # $mydomain is used as a default value for many other configuration parameters. mydomain = paching.idv.tw # 指定本地端的網域名稱,也就是把 $myhostname去除最前頭的 Short hostname 即是。 # 如果 myhostname 設定為 paching.idv.tw,那 mydomain 就是 idv.tw。 # For the sake of consistency between sender and recipient addresses,myorigin also # specifies the default domain name that is appended to recipient addresses that # have no @domain part. myorigin = $mydomain # 當您在 Postfix 主機上發信時,在對方收到信件後,會顯示寄件者的郵件地址為 # xx@[$myorigin],以這裡來說就是 xx@paching.idv.tw。 # 另外要直接指派也行: # myorigin = paching.idv.tw # 如果您有設定郵件別名 (參考 17.4 節) 時,也會使用到這個參數的設定。
# The inet_interfaces parameter specifies the network interface addresses that this mail # system receives mail on. By default, the software claims all active interfaces on the # machine. # Note: you need to stop/start Postfix when this parameter changes. inet_interfaces = all # 指定在郵件主機上,允許接收信件的網路介面位址。all是表示所有網路介面都可以 # 接收使用者所寄來的信件,這也是預設值。 # 另外當您修改了這個參數後,需要重新啟動 Postfix,而不是重新載入。
# The mydestination parameter specifies the list of domains that this machine considers # itself the final destination for. mydestination = $mydomain # Mail Server 是否會將此封信當成本地端的信件來處理,就是靠這個參數來決定的。比如 # 以這裡的設定來說,只要收到的信件地址是 xxx@paching.idv.tw,則此 MTA 都會視為 #本地端的信件。如您有多個網域名稱時,在這些名稱之間可使用空白鍵或「,」隔開。
# By default (mynetworks_style = subnet), Postfix "trusts" SMTP clients in the same IP # subnetworks as the local machine. # Specify "mynetworks_style = class" when Postfix should "trust" SMTP clients in the # same IP class A/B/C networks as the local machine. # Specify "mynetworks_style = host" when Postfix should "trust" only the local machine. mynetworks_style = subnet #指定 SMTP所信任的來源端類型,至於可以指定的類型有以下三種: #mynetworks_style = subnet #只要與 MTA位於同一個子網段的主機,其所寄過來的信件都允許 Relay。此乃預設。 # mynetworks_style = class #只要與 MTA位於同一 IP 類型 (Class A/B/C) 的主機,其所寄過來的信件都允許 Relay。 #mynetworks_style = host #只允許本機 Relay,也就是只能在郵件主機上來寄信的意思。
# Alternatively, you can specify the mynetworks list by hand, in which case Postfix ignores # the mynetworks_style setting. # Specify an explicit list of network/netmask patterns, where the mask specifies the number # of bits in the network part of a host address. mynetworks = 192.168.1.0/24,127.0.0.0/8 # 指定 SMTP 所信任的來源端位址。以這裡的設定來說,只要是從 192.168.1.0/24 這個 # 網路段所寄過來的信件,或是直接在本機寄信時,都允許 Relay。 #另外當 mynetworks_style及 mynetworks 同時做設定時,mynetworks_style 會被忽略掉。 always_bcc = david@paching.idv.tw # 這個參數可將 postfix所有收發的信件,利用密件副本的方式寄給其後所指定的帳號。 message_size_limit = 10240000 # 設定每封信件大小不得超過 10 MB。
main.cf 中勿加home_mailbox=Mailbox/
不然telnet IP 110时,收不到邮件,会出现has 0 visible message 或者你使用outlook等客户端时收不到邮件,
Client:~ # telnet 192.168.1.111 110 Trying 192.168.1.111... Connected to 192.168.1.111. Escape character is '^]'. +OK ready <7752.1132790189@suse> user mary # 使用 user指令來指出您在 POP3 Server 上的帳號。
+OK Password required for mary. pass mypasswd #使用 pass指令來輸入 mary 的密碼。
+OK mary has 1 visible message (0 hidden) in 529 octets. list #列出信件一覽表。