Php

設置 ubuntu 伺服器發送郵件()

  • May 26, 2013

我嘗試了很多搜尋,但無法找到如何實際設置 ubuntu 伺服器,以便我可以使用 php 中的 mail() 函式通過 php 發送郵件。

我的伺服器上安裝了 apache2、mysql 和 php5。

謝謝。

我也同意對於只需要發送腳本(例如錯誤電子郵件)並且不需要完整的郵件伺服器的人來說,缺少教程。

首先,如果 postfix 尚未安裝,請執行以下操作:

sudo apt-get install postfix

它會提示幾個問題。首先我選擇了“Internet site”;對於防火牆後面的機器,我可能會選擇 smarthost。對於第二個問題,它預設為機器名稱;我附加了一個我控制的域名(所以我可以在以後為它設置 DNS,如果我需要的話)。

此時,您應該能夠使用命令行中的“郵件”來發送測試。(我通常首先按照http://ubuntuforums.org/showthread.php?t=38429上的說明進行操作,否則我必須使用該-f標誌/usr/bin/sendmail。我也喜歡/etc/aliases為 root 和我的普通使用者創建條目,然後執行newaliases

然後在 /etc/php5/conf.d 下創建一個包含以下內容的文件(例如 mailconfig.ini):

sendmail_from = "me@example.com"
sendmail_path = "/usr/sbin/sendmail -t -i -f me@example.com"

me@example.com 更改為您的電子郵件地址。它們意味著所有電子郵件看起來都像是由您發送的,這有助於防止它被拒絕。這對於僅向開發人員發送錯誤電子郵件就足夠了。

(以上指令在 Ubuntu 10.04、11.04、11.10、12.04 上測試過)

PS 正如 razzed 在評論中指出的那樣,mail並不總是存在(例如在 Ubuntu 11.10 上它失去了)。這實際上並不影響上述說明,您只需要mail進行測試,您也可以使用sendmail它。但mail對於閱讀電子郵件也很有用,因此通常值得安裝它,使用:(apt-get install mailutils以 root 身份)。

引用自:https://serverfault.com/questions/119105