在本教程中,您將學(xué)習(xí)如何使用PHP mail()函數(shù)直接從腳本發(fā)送簡單文本或HTML電子郵件。
發(fā)送電子郵件消息對于Web應(yīng)用程序是非常常見的,例如,當(dāng)用戶在您的網(wǎng)站上創(chuàng)建帳戶時發(fā)送歡迎電子郵件,向您的注冊用戶發(fā)送新聞通訊,或通過網(wǎng)站的聯(lián)系表獲取用戶反饋或評論,等等。
您可以使用PHP內(nèi)置mail()函數(shù)從PHP應(yīng)用程序以純文本格式或格式化的HTML動態(tài)創(chuàng)建電子郵件消息并將其發(fā)送給一個或多個收件人。該函數(shù)的基本語法可以通過以下方式給出:
mail(to, subject, message, headers, parameters)
下表總結(jié)了此函數(shù)的參數(shù)。
參數(shù) | 描述 |
---|---|
必需 - 以下參數(shù)是必需的 | |
to | 收件人的電子郵件地址。 |
subject | 要發(fā)送的電子郵件的主題。此參數(shù),即主題行不能包含任何換行符(\n)。 |
message | 定義要發(fā)送的消息。每行應(yīng)以換行符LF(\n)分隔。行數(shù)不能超過70個字符。 |
可選 - 以下參數(shù)是可選的 | |
headers | 通常用于添加額外的標頭,例如“發(fā)件人”,“抄送”,“密件抄送”。附加標頭應(yīng)使用回車符和換行符CRLF(\r\n)分隔。 |
parameters | 用于傳遞其他參數(shù)。 |
使用PHP發(fā)送電子郵件的最簡單方法是發(fā)送文本電子郵件。在下面的示例中,我們首先聲明變量-收件人的電子郵件地址,主題行和郵件正文-然后將這些變量傳遞給mail()函數(shù)以發(fā)送電子郵件。
<?php $to = 'maryjane@mail.com'; $subject = '求婚'; $message = '嗨,簡,你愿意嫁給我嗎?'; $from = 'peterparker@mail.com'; //發(fā)送郵件 if(mail($to, $subject, $message)){ echo '您的郵件已成功發(fā)送。'; } else{ echo '無法發(fā)送電子郵件。 請再試一次。'; } ?>
使用PHP發(fā)送文本消息時,所有內(nèi)容將被視為簡單文本。我們將改進該輸出,并將電子郵件轉(zhuǎn)換為HTML格式的電子郵件。
要發(fā)送HTML電子郵件,過程將相同。但是,這一次,我們需要提供其他標頭以及HTML格式的消息。
<?php $to = 'maryjane@mail.com'; $subject = '求婚'; $from = 'peterparker@mail.com'; //要發(fā)送HTML郵件,必須設(shè)置Content-type標頭 $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; //創(chuàng)建電子郵件標題 $headers .= 'From: '.$from."\r\n". 'Reply-To: '.$from."\r\n" . 'X-Mailer: PHP/' . phpversion(); //編寫一個簡單的HTML電子郵件 $message = '<html>'; $message .= '<h1 style="color:#f40;">Hi Jane!</h1>'; $message .= '<p style="color:#080;font-size:18px;">Will you marry me?</p>'; $message .= '</html>'; //發(fā)送電子郵件 if(mail($to, $subject, $message, $headers)){ echo '您的郵件已成功發(fā)送。'; } else{ echo '無法發(fā)送電子郵件。 請再試一次。'; } ?>
注意:PHP mail()函數(shù)是PHP核心的一部分,但是您需要在計算機上設(shè)置一個郵件服務(wù)器以使其真正起作用。
在接下來的兩章(PHP表單處理和PHP表單驗證)中,您將學(xué)習(xí)如何在您的網(wǎng)站上實現(xiàn)交互式聯(lián)系表單,以使用此PHP發(fā)送郵件功能通過電子郵件接收用戶的評論和反饋。