PHP 發(fā)送電子郵件
php 發(fā)送電子郵件
php 允許您從腳本直接發(fā)送電子郵件。
1. php mail() 函數(shù)
php mail() 函數(shù)用于從腳本中發(fā)送電子郵件。
語法
mail(to,subject,message,headers,parameters)
參數(shù) | 描述 |
---|---|
to | 必需。規(guī)定 email 接收者。 |
subject | 必需。規(guī)定 email 的主題。注釋:該參數(shù)不能包含任何新行字符。 |
message | 必需。定義要發(fā)送的消息。應(yīng)使用 lf (\n) 來分隔各行。每行應(yīng)該限制在 70 個字符內(nèi)。 |
headers | 可選。規(guī)定附加的標(biāo)題,比如 from、cc 和 bcc。應(yīng)當(dāng)使用 crlf (\r\n) 分隔附加的標(biāo)題。 |
parameters | 可選。對郵件發(fā)送程序規(guī)定額外的參數(shù)。 |
注釋:php 運(yùn)行郵件函數(shù)需要一個已安裝且正在運(yùn)行的郵件系統(tǒng)(如:sendmail、postfix、qmail等)。所用的程序通過在 php.ini 文件中的配置設(shè)置進(jìn)行定義。
2. php 簡易 e-mail
通過 php 發(fā)送電子郵件的最簡單的方式是發(fā)送一封文本 email。
在下面的范例中,我們首先聲明變量($to, $subject, $message, $from, $headers),然后我們在 mail() 函數(shù)中使用這些變量來發(fā)送了一封 e-mail:
<?php $to = "someone@example.com"; // 郵件接收者 $subject = "參數(shù)郵件"; // 郵件標(biāo)題 $message = "hello! 這是郵件的內(nèi)容。"; // 郵件正文 $from = "someonelse@example.com"; // 郵件發(fā)送者 $headers = "from:" . $from; // 頭部信息設(shè)置 mail($to,$subject,$message,$headers); echo "郵件已發(fā)送"; ?>
3. php mail 表單
通過 php,您能夠在自己的站點(diǎn)制作一個反饋表單。下面的范例向指定的 e-mail 地址發(fā)送了一條文本消息:
<html> <head> <meta charset="utf-8"> <title>碩編程(yapf.com)</title> </head> <body> <?php if (isset($_request['email'])) { // 如果接收到郵箱參數(shù)則發(fā)送郵件 // 發(fā)送郵件 $email = $_request['email'] ; $subject = $_request['subject'] ; $message = $_request['message'] ; mail("someone@example.com", $subject, $message, "from:" . $email); echo "郵件發(fā)送成功"; } else { // 如果沒有郵箱參數(shù)則顯示表單 echo "<form method='post' action='mailform.php'> email: <input name='email' type='text'><br> subject: <input name='subject' type='text'><br> message:<br> <textarea name='message' rows='15' cols='40'> </textarea><br> <input type='submit'> </form>"; } ?> </body> </html>
范例解釋:
- 首先,檢查是否填寫了郵件輸入框
- 如果未填寫(比如在頁面被首次訪問時),輸出 html 表單
- 如果已填寫(在表單被填寫后),從表單發(fā)送電子郵件
- 當(dāng)填寫完表單點(diǎn)擊提交按鈕后,頁面重新載入,可以看到郵件輸入被重置,同時顯示郵件發(fā)送成功的消息
注釋:這個簡易發(fā)送 e-mail 不安全,在本教程的下一章中,您將閱讀到更多關(guān)于電子郵件腳本中的安全隱患,我們將為您講解如何驗(yàn)證用戶輸入使它更安全。