用PHP Email发送表单内容(3)-mail()函数的几个参数详解
这一节主要讲的是mail函数。
首先阅读手册,看看mail函数的基本形式:http://php.net/manual/en/function.mail.php
mail();函数接受几个参数:
第一个参数:收件人
$to = ‘[email protected]’;
或者我们有多个收件人:
$to = ‘[email protected]’,’[email protected]’;
或者我们还可以加上收件人的名字:
$ = ‘david <[email protected]>,james <[email protected]>’;
第二个参数:邮件主题
$subject = ‘这是邮件的主题’;
第三个参数:邮件内容
$body = ‘这里是邮件的内容部分’;
注意:$body必须是一个single string,如果你要用到不同的数据来源,请将他们全部组合成一个single string
以上三个参数就是mail();函数所必须的三个参数,剩下的参数是optional:
Mail($to ,$subject ,$body);
剩下的两个参数不是必须的,但也经常会用到:
第四个参数:headers
$headers 就是email的headers 例如:Bcc,Cc,From等;如果你要加入多余一个的headers,需要把每一个单独的headers用\r\n分割开来。
$headers = “From:[email protected]”;(要用双引号,因为里面要加入\r\n)有些服务器自动设定了这个From,但如果服务器没有自动设置,你需要在这里进行设置,否则会出现错误。
Mail();函数默认使用Western European encoding,如果要使用utf-8编码,则需要再$headers中加入一句:
$headers .= “Content-Type:text/plain; charset-utf-8\r\n”;
如果要抄送给某人,则:
$headers .=”Cc: [email protected]”;
第五个参数,是服务器需要的参数,检测你是否有权限发邮件,防止垃圾邮件。
‘[email protected]’;(由-f开头,然后紧跟你的邮箱地址)
整个mail();函数返回一个布尔值,如果发送成功了(这里是指PHP已经将这些数据成功的提交给了mail agent,并不是100%发送成功了),则返回true,否则返回false,我们可以存储这个数据 ,因为后面要用到。
1 $sucess = mail($to ,$subject, $body, $heders, ‘[email protected]’);
除了上一节的表格文件,这一件我们又新建了一个mail.php用来处理邮件有关的逻辑。所以,到了这一节有两个PHP文件,代码分别是:
form.php:
1 <html> 2 <head> 3 <meta charset="utf-8"> 4 <title>联系我们</title> 5 <link href="test.css" rel="stylesheet" type="text/css"> 6 <style> 7 input,label,textarea{ 8 display:block; 9 margin:1em; 10 } 11 textarea{ 12 width:400px; 13 height:200px; 14 } 15 </style> 16 </head> 17 18 <body> 19 <form method="post" action=‘<?php echo($_SERVER[‘PHP_SELF‘]); ?>‘;> 20 <label>姓名:</label> 21 <input type="text" name="name" id="name"></input> 22 23 <label>邮箱地址:</label> 24 <input type="text" name="email" id="email"></input> 25 26 <label>姓名:</label> 27 <textarea name="comment" id="comment"></textarea> 28 29 <input type="submit" name="send" id="send" value="提交评论"></submit> 30 </form> 31 32 <?php 33 if($_POST){ 34 echo ‘我们收到了来自$_POST的信息‘; 35 print_r($_POST); 36 }elseif($_GET){ 37 echo ‘我们收到了来自$_GET的信息‘; 38 print_r($_GET); 39 } 40 ?> 41 </body> 42 </html>
mail.php:
1 <?php 2 $to =‘Wang Jian <[email protected]>,anothe<[email protected]>‘; 3 $subject = ‘这是邮件主题部分‘; 4 $body = ‘这是邮件主体部分‘;//邮件主体部分必须是一个single string,所以如果要用到许多不同的数据来源,需要把他们全部组合成一个single string 5 $headers = "From:[email protected]\r\n";//因为里面有转义字符,所以要用双引号,不同的headers项目必须要用转义字符隔开; 6 $headers .= "Content-Type:text/plain; charset-utf-8\r\n"; 7 $headers .= "Cc:[email protected]" 8 9 $sucess = mail($to, $subject, $body, $headers, ‘[email protected]‘);
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。