一、介紹
mail()函數,你能用此函數傳送電子郵件。
需求
為了能使用Mail函數,在你的系統中,PHP必須有編譯發送二進位郵件檔案的權力。如果你用其它的郵件程序,例如qmail或postfix,你必須有把握使用它們來發送郵件包。 PHP會先在你的路徑上尋找sendmail,於是下列各項路徑: :/usr/bin :/usr/sbin :/usr/etc :/etc:/usr/ucblib :/usr/lib是被推薦的。同樣編譯PHP的使用者一定有存取二進位的sendmail權力。
安裝
這些函數作為 PHP 核心的一部分,無需被安裝即可使用。
執行階段配置
這些函數的行為受到全域設定檔 php.ini 的影響。
表格1. Mail基本設定選項:
名稱 預設值 可變更值
SMTP "localhost" PH. #sendmail_from NULL PHP_INI_ALL
sendmail_path DEFAULT_SENDMAIL_PATH PHP_INI_SYSTEM PHP_INI_ALL
sendmail_path DEFAULT_SENDMAIL_PATH PHP_INI_SYSTEM 以下是該配置選項的簡要解釋。
SMTP string只用在Windows: SMTP伺服器的DNS名字或IP位址。 PHP在用mail()函數傳送郵件時將會用SMTP伺服器。
smtp_portint 只用在Windows:當用mail()函數傳送郵件時設定連接到指定SMTP伺服器的連接埠號,預設: 25。僅在PHP 4.3.0後可用。
sendmail_from string
PHP在Windows系統中發送郵件時,將使用"From:"郵件地址。
sendmail_path string
在什麼地方找到發送郵件程式。通常在: /usr/sbin/sendmail或/usr/lib/中。在這配置選項為了你能正常工作而設定了一個預設值。但是如果它失敗,你能在這裡設定它。
如果系統無法使用sendmail,應該依照這個指示設定sendmail包裹器/ 來取代他們提供的郵件系統。舉例來說,Qmail使用者能設定它到新的路徑: /var/qmail/bin/sendmail或/var/qmail/bin/qmail-inject。
qmail-正確地處理郵件而不需要任何的選項。
資源類型
此擴充模組未定義任何資源類型。
預先定義常數
此擴充模組未定義任何常數
二、使用方法語法:
bool mail ( string to, string subject, string message [, string additional_headers [, string additional_parameters]])
mail()函數可以發送指定的訊息(string message)到指定的郵件地址(string to)。多個郵件地址之間要用逗號分割。能用這個函數傳送郵件附件和特殊型別。
在上面的語法中的各個參數代表的意思是:
string to——收件人的email地址、
string message——email的正文、
string additional_headers-加email的附加資訊到信件頭尾部。
如果郵件成功的被傳送mail()函數將傳回TRUE,否則回傳FALSE。 注意!
mail()函數在Windows中的執行方法有很多地方不同於UNIX系統。
1、它不用局部二進位構成訊息體;
2、類似 From:, Cc:, Bcc:和Date:的headers頭元素,首先不被MTA解釋,但能被MTA解釋。 PHP = 4.3支援所有提及的headers頭元素且不區分大小寫。
mail("joecool@example.com", "My Subject", "Line 1nLine 2nLine 3");
二.二、如果使用第四個參數,這個參數字串將插入信件頭尾。這是典型的插入用於說明附加信件頭資訊。多個附加信件頭資訊之間要用回車r和換行n符隔開。
範例 2. 傳送附加信件頭訊息郵件:
mail("nobody@example.com", "the subject", $message,"From: webmaster@{$_SERVER[’SERVER_NAME’]}rn" ."Reply-T webmaster@{$_SERVER[’SERVER_NAME’]}rn"."X-Mailer: PHP/" .phpversion());二.三、如果用additional_parameters參數,當傳送郵件時程式用sendmail_path設定設定一個附加參數。例如,在郵件前用-f選項時這能用來設定寄件人地址信封。當你用這個方法設定寄件人信封時,你也許需要加那個使用者到你的WEB伺服器You may need to add the user that your web server runs as to your sendmail configuration to prevent a 'X-Warning' header from being added to the message when you set the envelope sender using this method.
範例3. 發送附加的信件頭資訊郵件而且附加一個指令參數。
mail("nobody@example.com", "the subject", $message,"From: webmaster@{$_SERVER[’SERVER_NAME’]}", "-fwebmaster@{$_SERVER[’SERVER_NAME’]}");
注意:其中的第五个参数附加在PHP 4.0.5版本中。在PHP 4.2.3以后的版本中的安全模式中被禁止,如果用它的话将返回一个警告信息和返回FALSE值。
你同样能用简单的字符串构造技术建立一个复杂的邮件消息。
例子 4. 发送一个复杂邮件
/*收件人*/ $to = "Mary " . ", " ; //注意逗号 $to .= "Kelly "; /*主题*/ $subject = "Birthday Reminders for August"; /*正文*/ $message = ’ Here are the birthdays upcoming in August! ’; /*你能设置头内容:Content-type来发送HTML格式邮件。*/ $headers = "MIME-Version: 1.0rn"; $headers .= "Content-type: text/html; charset=iso-8859-1rn"; /*附加头消息*/ $headers .= "From: Birthday Reminder rn"; $headers .= "Cc: birthdayarchive@example.comrn"; $headers .= "Bcc: birthdaycheck@example.comrn"; /*发送它*/ mail($to, $subject, $message, $headers); @example.com>@example.com>@example.com>
注意:
1、不要在收件人地址和主题中有换行符号,否则邮件可能不能被发送出去。
2、收件人地址参数(string to)中不能存在以"Something
3、PHP使用mail函数发送邮件标题乱码问题 PHP程序使用mail()函数发送邮件的时候,标题中文的话会出现乱码。
解决方法:
先用函数base64_encode() — 使用 MIME base64 对数据进行编码 标题字符串前加编码类型例如: =?UTF-8?B? 标题字符串后加:?= 邮件header说明Content-type — 防止邮件正文也乱码
举例:
$to = 'xinple@example.com'; $subject = "=?UTF-8?B?".base64_encode('邮件标题')."?="; $headers = 'MIME-Version: 1.0' . "rn"; $headers .= 'Content-type: text/html; charset=utf-8' . "rn"; // Additional headers $headers .= 'To: Xinple' . "rn"; $headers .= 'From: Admin ' . "rn"; $headers .= 'Reply-To: Xinple' . "rn"; mail($to, $subject, $message, $headers);@example>@example.com>@example.com
以上是php mail()函數傳送電子郵件用法實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

在PHP中,trait適用於需要方法復用但不適合使用繼承的情況。 1)trait允許在類中復用方法,避免多重繼承複雜性。 2)使用trait時需注意方法衝突,可通過insteadof和as關鍵字解決。 3)應避免過度使用trait,保持其單一職責,以優化性能和提高代碼可維護性。

依賴注入容器(DIC)是一種管理和提供對象依賴關係的工具,用於PHP項目中。 DIC的主要好處包括:1.解耦,使組件獨立,代碼易維護和測試;2.靈活性,易替換或修改依賴關係;3.可測試性,方便注入mock對象進行單元測試。

SplFixedArray在PHP中是一種固定大小的數組,適用於需要高性能和低內存使用量的場景。 1)它在創建時需指定大小,避免動態調整帶來的開銷。 2)基於C語言數組,直接操作內存,訪問速度快。 3)適合大規模數據處理和內存敏感環境,但需謹慎使用,因其大小固定。

PHP通過$\_FILES變量處理文件上傳,確保安全性的方法包括:1.檢查上傳錯誤,2.驗證文件類型和大小,3.防止文件覆蓋,4.移動文件到永久存儲位置。

JavaScript中處理空值可以使用NullCoalescingOperator(??)和NullCoalescingAssignmentOperator(??=)。 1.??返回第一個非null或非undefined的操作數。 2.??=將變量賦值為右操作數的值,但前提是該變量為null或undefined。這些操作符簡化了代碼邏輯,提高了可讀性和性能。

CSP重要因為它能防範XSS攻擊和限制資源加載,提升網站安全性。 1.CSP是HTTP響應頭的一部分,通過嚴格策略限制惡意行為。 2.基本用法是只允許從同源加載資源。 3.高級用法可設置更細粒度的策略,如允許特定域名加載腳本和样式。 4.使用Content-Security-Policy-Report-Only頭部可調試和優化CSP策略。

HTTP請求方法包括GET、POST、PUT和DELETE,分別用於獲取、提交、更新和刪除資源。 1.GET方法用於獲取資源,適用於讀取操作。 2.POST方法用於提交數據,常用於創建新資源。 3.PUT方法用於更新資源,適用於完整更新。 4.DELETE方法用於刪除資源,適用於刪除操作。

HTTPS是一種在HTTP基礎上增加安全層的協議,主要通過加密數據保護用戶隱私和數據安全。其工作原理包括TLS握手、證書驗證和加密通信。實現HTTPS時需注意證書管理、性能影響和混合內容問題。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

記事本++7.3.1
好用且免費的程式碼編輯器