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