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

2015-01-24信息快讯网

之前一直使用第三方的邮件系统发送邮件,比如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 = "somebody@example.com, somebodyelse@example.com";
$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" . "\r\n"; $headers .= "Content-type:text/html;charset=utf-8" . "\r\n";

// 更多报头 $headers .= 'From: <webmaster@example.com>' . "\r\n"; $headers .= 'Cc: myboss@example.com' . "\r\n";

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

ThinkPHP使用smarty模板引擎的方法
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
PHP内置过滤器FILTER使用实例
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
ThinkPHP Mobile使用方法简明教程
Smarty局部缓存的几种方法简介
smarty模板局部缓存方法使用示例
php smarty truncate UTF8乱码问题解决办法
Codeigniter上传图片出现“You did not select a file to upload”错误解决办法
浅谈php扩展imagick
PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法
Fatal error: session_start(): Failed to initialize storage module: files问题解决方法
phpmailer中文乱码问题的解决方法
PHPMailer的主要功能特点和简单使用说明
PHP 利用Mail_MimeDecode类提取邮件信息示例
php多种形式发送邮件(mail qmail邮件系统 phpmailer类)
php mail to 配置详解
那些年我们错过的魔术方法(Magic Methods)
PHP 登录完成后如何跳转上一访问页面
php中filter函数验证、过滤用户输入的数据
php检测用户是否用手机(Mobile)访问网站的类
百度站点地图(百度sitemap)生成方法分享
php使用filter过滤器验证邮箱 ipv6地址 url验证
sae使用smarty模板的方法
解决file_get_contents无法请求https连接的方法
PHP获取MAC地址的具体实例
PHP上传文件时文件过大$_FILES为空的解决方法
CodeIgniter生成网站sitemap地图的方法
PHP生成sitemap.xml地图函数
PHP使用PHPMailer发送邮件的简单使用方法
ThinkPHP利用PHPMailer实现邮件发送实现代码
php setcookie(name, value, expires, path, domain, secure) 参数详解
解析php中用PHPMailer来发送邮件的示例(126.com的例子)
解析yahoo邮件用phpmailer发送的实例
163的邮件用phpmailer发送(实例详解)
©2014-2024 dbsqp.com