php mail()郵件發送配置方法

來源:互聯網
上載者:User

php mail()函數需要配置才可以發郵件的哦,下面配置方法

如果你沒有使用windows,那麼sendmail_path指令就是你唯一要擔心的東西.如果你正在使用Windows,你就需要看看最後兩個指令.

如果你使用的是Linux或是一個Unix變種,sendmail_path看起來應該象這樣:

sendmail_path = /usr/sbin/sendmail

或者如果你使用Qmail:

sendmail_path = /var/qmail/bin/sendmail

在PHP mail()函數中的這條指令裡,你還可以設定配置參數來指明隊列緩衝選項或是顯示的設定Return-Path頭,如下所示:

sendmail_path = /usr/sbin/sendmail -t -fyou@yourdomain.com

作為一個非Windows使用者,這就是你要做的一切了.如果你使用的是Windows,你有更多的事情要做.你還需要看一看SMTP和sendmail_from的值.不要被sendmail_from指令名字中的sendmail弄迷糊了.雖然你沒有在Windows上使用名叫Sendmail的程式,但那隻是指令的名字.不要被它嚇到了.

在你的phpinfo()顯示的結果裡,看看SMTP和sendmail_from的預設值--它們要麼是空白,要麼包含了胡亂的值.你應該把它們改成有意義的值.

如果你決心在這台電腦上運行一個SMTP服務程式,你在php.ini檔案中的條目就應該如下:

SMTP = localhost

但是,如果你要使用你ISP(在這個例子中是EarthLink)的外發郵件伺服器,那麼php.ini中的郵件看起來應該如下:

SMTP = mail.earthlink.net

你也可以使用IP地址而不是網域名稱,因為電腦不區分這兩種條目.

第二條配置指令是sendmail_from,它應該被設定成From頭中的電子郵件地址.它可以在指令碼裡被修改但是通常作為預設值使用.下面就是這個配置指令的樣本youraddress@yourdomain.com指的是你自己的郵件地址.

 代碼如下 複製代碼

sendmail_from = youraddress@yourdomain.com

發送一個簡單的電子郵件:

 代碼如下 複製代碼

$txt = "First line of textnSecond line of text";
// Use wordwrap() if lines are longer than 70 characters
$txt = wordwrap($txt,70);
// Send email
mail("somebody@example.com","My subject",$txt);


剛開始感覺非常不錯,網易郵箱、QQ郵箱、GMAIL郵箱常用的郵箱都可以收到,但經測試HOTMAIL、TOM、LIVE等郵箱是收不到此類郵件的!

經查詢郵件發送的時候,一般都需要身分識別驗證,而PHP內建的mail()無能為力,很脆弱啊!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.