首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP mail() 函數與 SMTP 工作原理實踐

     編輯:PHP 綜合知識

前言

發送 Email 腳本是網站最常見腳本之一,雖簡單但常令程式設計師挫折。PHP mail() 函數僅需收件地址與信件主體即可發送,但要讓其正常運作需解決棘手問題。

SMTP 基礎

mail() 需 SMTP 伺服器讓 PHP 連線。SMTP (Simple Mail Transfer Protocol) 簡單郵件傳輸協定,SMTP 伺服器即運行此協定發送郵件的電腦。非 Windows 運行 Sendmail、Qmail 等程式;Windows 平台用 IIS SMTP 服務 (NT Service Pack 一部分或內建於 Windows 2000)。

若使用 ISP 虛擬主機,SMTP 服務通常已安裝。若為個人開發電腦可能未運行 SMTP 軟體。簡單判斷:Windows 用戶從未見過 "SMTP 伺服器" 字樣,即未運行。兩種選擇:安裝配置維護 SMTP 服務 (不推薦新手),或使用現有 SMTP 伺服器 (如 ISP 的外發郵件伺服器)。

php.ini 關鍵設定

用 phpinfo() 查看目前配置,關注三項:

  • SMTP
  • sendmail_from
  • sendmail_path

非 Windows:只需設定 sendmail_path,如 /usr/sbin/sendmail 或 /var/qmail/bin/sendmail,可加參數 -t -f you@yourdomain.com 設定 Return-Path。

Windows:需設定 SMTP 與 sendmail_from。SMTP 設為 localhost (自架) 或 ISP 伺服器 (如 mail.earthlink.net)。sendmail_from 設為 From 標頭郵件地址 (如 youraddress@yourdomain.com)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved