萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> PHP mail()函數使用及配置方法

PHP mail()函數使用及配置方法

之前一直使用第三方的郵件系統發送郵件,比如QQ啊、gmail啊等,但是有時候客戶不希望給我們提供發件人郵箱和密碼,後來我才發現使用PHP自帶的mail函數完全可以實現這一需求了

配置

工欲善其事,必先利其器。首先我們以windows下面為例進行說明,如何配置一下本地的mail。

下載附件 sendmail.zip

 

 -解壓到任意路徑,修改sendmail.ini,根據實際需要修改下面的信息。

 代碼如下:

  [sendmail]

   smtp_server=smtp.qq.com

   smtp_port=25

   error_logfile=error.log

   debug_logfile=debug.log

   auth_username=***@qq.com

   auth_password=***

   force_sender=***@qq.com

 -php.ini

  [mail function]

   SMTP = smtp.qq.com

   smtp_port = 25

   sendmail_from = ***@qq.com

   sendmail_path = "D:/sendmail/sendmail.exe -t -i"

   mail.add_x_header = On

 

 

注意:

    目前測試只是qq發送成功,163的不成功可能是他有過濾系統,可以成功發送給gmail。

 

語法

 

 

復制代碼 代碼如下:mail(to,subject,message,headers,parameters) 

 

定義和用法

 

mail() 函數允許您從腳本中直接發送電子郵件。

如果郵件的投遞被成功地接收,則返回 true,否則返回 false。

說明

在 message 參數規定的消息中,行之間必須以一個 LF(n)分隔。每行不能超過 70 個字符。

(Windows 下)當 PHP 直接連接到 SMTP 服務器時,如果在一行開頭發現一個句號,則會被刪掉。要避免此問題,將單個句號替換成兩個句號。

 代碼如下:

<?php  

$text = str_replace("n.", "n..", $text);  

?> 

 

 

提示和注釋

 

注釋:您需要緊記,郵件投遞被接受,並不意味著郵件到達了計劃的目的地。

示例

下面引用一個官方的發送HTML郵件的例子。

代碼如下:

<?php

$to = "[email protected], [email protected]";

$subject = "HTML email";

 

$message = "

<html>

<head>

<title>HTML email</title>

</head>

<body>

<p>This email contains HTML Tags!</p>

<table>

<tr>

<th>Firstname</th>

<th>Lastname</th>

</tr>

<tr>

<td>John</td>

<td>Doe</td>

</tr>

</table>

</body>

</html>

";

 

// 當發送 HTML 電子郵件時,請始終設置 content-type

$headers = "MIME-Version: 1.0" . "rn";

$headers .= "Content-type:text/html;charset=utf-8" . "rn";

 

// 更多報頭

$headers .= 'From: <[email protected]>' . "rn";

$headers .= 'Cc: [email protected]' . "rn";

 

mail($to,$subject,$message,$headers);

?>

copyright © 萬盛學電腦網 all rights reserved