[爆卦]ubuntu postfix設定是什麼?優點缺點精華區懶人包

為什麼這篇ubuntu postfix設定鄉民發文收入到精華區:因為在ubuntu postfix設定這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者cleanwind (骨傲風清(掛網))看板PHP標題Re: [請益] 在 Linux 下使用外...


※ 引述《cleanwind (骨傲風清(掛網))》之銘言:
: 想請問大家一個問題,
: 寄信最簡單的 func 應該就屬 mail 了。
: 在 Windows 下要使用外部的 SMTP,
: 只需要設定 php.ini 的 SMTP 與 sendmail_from ,
: 通常 Port 是預設 25 。
: 但是如果是在 Linux 下呢?
: 我該怎麼設定,才能使用外部的 SMTP 寄信呢?

※ 引述《cleanwind (骨傲風清(掛網))》之銘言:
: 想請問大家一個問題,
: 寄信最簡單的 func 應該就屬 mail 了。
: 在 Windows 下要使用外部的 SMTP,
: 只需要設定 php.ini 的 SMTP 與 sendmail_from ,
: 通常 Port 是預設 25 。
: 但是如果是在 Linux 下呢?
: 我該怎麼設定,才能使用外部的 SMTP 寄信呢?

========= 本文歡迎轉載,但請註明 [email protected] =========

我嘗試了好久,終於找到方法。

不過坦白說我真的不知道,這到底該算 PHP 還是 Linux?

不過我對 PHP 版比較熟,所以就 PO 在這,

如果版主覺得不適當,請給小的一個機會自己動刀 XD


測試環境:LAMP

L: Ubuntu 9.0.4

A: Apache 2.2.11-2ubuntu2.3

M: mysql 5.1.30really5.0.75-0ubuntu10.2

P: PHP 5.2.6.dfsg.1-3ubuntu4.2


如果不知道該怎麼架起來的朋友,因為和本版差距太遠,

麻煩站內信或 MSN: [email protected] 問我囉。


網路上有人問這個問題,就會有人回應,

「你就在 php.ini 裡面設定 SMTP 和 smtp_port 就好」

非常厲害的可以完全忽略 For Win32 Only. 這幾個字,

甚至還會出現再度忽略 For Win32 Only. 的回應,

「不能使用的話記得要設定 sendmail_from 喔!」


如果你選擇 Windows XP 或 Windows Server 2003 ,

或者其他由 Microsoft 出產的作業系統,

那麼此篇文章可以丟入資源回收桶,

如果你的作業系統只有回收桶,那可能就要注意一下了 XD


不過在開始之前,我必須很誠實的說我沒有使用過 PHPMailer ,

這是因為謠傳 PHPMailer 會有一些小 bug ?!

再加上我對於 PHP的 Code 有很強烈的潔癖,

我無法忍受我不了解的東西在我的網頁裡面 XD


Ubuntu 系統建議安裝的是 postfix ,

也聽說 postfix 比 sendmail 容易設定,

這邊我選用的是 postfix 2.5.5-1.1 ,

使用 套件管理程式 安裝時,會出現問你要選擇什麼,

如果你要使用外部的 SMTP ,那麼請選擇 satellite system ,

之後會再問你要使用的 SMTP Server 與 本機的網域名稱(FQDN),

設定完成後,等待安裝結束就好了。


這時候打開 php.ini ,在下的環境是放在 /etc/php5/apache2/php.ini

cleanwind@ptt-php:~$ sudo gedit /etc/php5/apache2/php.ini

就可以使用視窗編輯程式,搜尋 SMTP 把 SMTP 和 smtp_port 前面加入分號,

變成底下這樣

; SMTP = localhost
; smtp_port = 25

如果 sendmail_from 前面有分號的話,請拿掉並填入適當的參數,

sendmail_from = /usr/sbin/sendmail -t -i -f [email protected]


不過加了這段參數似乎發生了問題,寄件人可能會變成 www-data,

解決方法有二,一是使用 mail() 的 標頭 參數解決;

二則是加入另一段參數 -F 'cleanwind',變成

sendmail_from = /usr/sbin/sendmail -t -i -f [email protected] -F 'cleanwind'

這樣收件人看到的就是 "cleanwind" 了。


如果發出去的信還一直都沒有收到,懷疑是 postfix 有問題,

那麼可以從紀錄檔略窺一二, mail.info 或 mail.log 都會有。

如果需要做更進一步的設定, postfix 的設定檔在 /etc/postfix/main.cf

cleanwind@ptt-php:~$ sudo gedit /etc/postfix/main.cf


都設定完畢後就是重新啟動 Apache 與 postfix 了,

cleanwind@ptt-php:~$ sudo /etc/init.d/postfix restart

cleanwind@ptt-php:~$ sudo /etc/init.d/apache2 restart


另外值得一提的是,postfix似乎是不允許本機之外的 relay 轉信,

sendmail參數參考網頁 http://www.courier-mta.org/sendmail.html

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.145.203.222
reflynet:推,不過建議使用 gksudo gedit , 不要用sudo gedit :) 10/08 12:30

你可能也想看看

搜尋相關網站