国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > php教程 > 利用php mail()进行邮件发送实现方法

利用php mail()进行邮件发送实现方法

来源:程序员人生   发布时间:2014-01-29 09:13:02 阅读次数:3242次

利用php mail()进行邮件发送实现方法,mail() 函数允许您从脚本中直接发送电子邮件。

如果邮件的投递被成功地接收,则返回 true,否则返回 false。

语法:mail(to,subject,message,headers,parameters)

参数 描述

to 必需。规定邮件的接收者。

subject 必需。规定邮件的主题。该参数不能包含任何换行字符。

message 必需。规定要发送的消息。

headers 必需。规定额外的报头,比如 From, Cc 以及 Bcc。

parameters 必需。规定 sendmail 程序的额外参数。

简单的发送html内容:

  1. <html> 
  2.   <head> 
  3.   <title>Simple Send Mail Form</title> 
  4.   </head> 
  5.   <body> 
  6.   <h1>Mail Form</h1> 
  7.   <form name="form1" method="post" action="SimpleEmail.php"
  8.   <table> 
  9.       <tr><td><b>To</b></td><td><input type="text" name="mailto" size="35"></td></tr> 
  10.       <tr><td><b>Subject</b></td> 
  11.           <td><input type="text" name="mailsubject" size="35"></td></tr> 
  12.       <tr><td><b>Message</b></td> 
  13.           <td><textarea name="mailbody" cols="50" rows="7"></textarea></td> 
  14.       </tr> 
  15.       <tr><td colspan="2"
  16.             <input type="submit" name="Submit" value="Send"
  17.           </td> 
  18.       </tr> 
  19.    </table> 
  20.  </form> 
  21.  </body> 
  22.  </html> 

SimpleEmail.php

  1. <?php 
  2.     if (emptyempty ($mailto) ) { 
  3.        die ( "Recipient is blank! ") ; 
  4.     } 
  5.     if (emptyempty ($mailsubject) ){ 
  6.        $mailsubject=" " ; 
  7.     } 
  8.     if (emptyempty ($mailbody) ) { 
  9.        $mailbody=" " ;  
  10.     } 
  11.     $result = mail ($mailto$mailsubject$mailbody) ; 
  12.     if ($result) { 
  13.        echo "Email sent successfully!" ; 
  14.     }else
  15.        echo "Email could not be sent." ; 
  16.     } 
  17. ?> 

带上抄送与密送功能

  1. <HTML> 
  2.   <HEAD> 
  3.   <TITLE>Send email with CC and BCC</TITLE> 
  4.   </HEAD> 
  5.   <BODY> 
  6.   <FORM action="sendemailWithCC_BCC.php" method=post name=form1> 
  7.   <TABLE> 
  8.     <TBODY> 
  9.     <TR> 
  10.       <TD> 
  11.        <DIV align=right><b>To</b></DIV></TD> 
  12.       <TD> 
  13.         <p>Name <INPUT name=mailtoname size=35><BR>E-mail  
  14.                 <INPUT name=mailtomail size=35></p></TD></TR> 
  15.     <TR> 
  16.       <TD> 
  17.         <DIV align=right><b>CC</b></DIV></TD> 
  18.       <TD><INPUT name=mailcc size=35> </TD></TR> 
  19.     <TR> 
  20.       <TD> 
  21.         <DIV align=right><b>BCC</b></DIV></TD> 
  22.       <TD><INPUT name=mailbcc size=35> </TD></TR> 
  23.     <TR> 
  24.       <TD> 
  25.         <DIV align=right><b>Priority</b></DIV></TD> 
  26.       <TD><SELECT name=mailpriority>  
  27.             <OPTION value=1>Highest</OPTION> 
  28.             <OPTION value=2>High</OPTION>  
  29.             <OPTION selected value=3>Normal</OPTION> 
  30.             <OPTION value=4>Low</OPTION>  
  31.             <OPTION value=5>Lowest</OPTION> 
  32.           </SELECT> 
  33.       </TD></TR> 
  34.     <TR> 
  35.       <TD><DIV align=right><b>Subject</b></DIV></TD> 
  36.       <TD><INPUT name=mailsubject size=35></TD></TR> 
  37.     <TR> 
  38.       <TD> 
  39.         <DIV align=right><b>Message</b> </DIV></TD> 
  40.       <TD><TEXTAREA cols=50 name=mailbody rows=7></TEXTAREA> </TD></TR> 
  41.     <TR> 
  42.       <TD colSpan=2> 
  43.         <DIV align=center><INPUT name=Submit type=submit value=Submit></DIV> 
  44.     </TD> 
  45.     </TR> 
  46.    </TBODY> 
  47.    </TABLE> 
  48.   </FORM> 
  49.   </BODY> 
  50.   </HTML> 

sendemailWithCC_BCC.php

  1. <html> 
  2.   <head> 
  3.   <title>Mail Sent</title> 
  4.   </head> 
  5.   <body> 
  6.   <?php 
  7.    
  8.     $message" " ; 
  9.     if (emptyempty ( $mailtoname) || emptyempty ( $mailtomail) ) { 
  10.        die ( "Recipient is blank! ") ; 
  11.     }else
  12.        $to = $mailtoname . " <" . $mailtomail . ">" ; 
  13.     } 
  14.      
  15.     if ( emptyempty ( $mailsubject) ) { 
  16.       $mailsubject=" "
  17.     } 
  18.     if (($mailpriority>0) && ($mailpriority<6)) { 
  19.        $mailheader = "X-Priority: "$mailpriority ."n"
  20.     } 
  21.     $mailheader.= "From: " . "Sales Team <sales@yourdomain.com>n"
  22.     $mailheader.= "X-Sender: " . "support@yourdomain.comn"
  23.     $mailheader.= "Return-Path: " . "support@yourdomain.comn"
  24.     if (!emptyempty($mailcc)) { 
  25.       $mailheader.= "Cc: " . $mailcc ."n"
  26.     } 
  27.     if (!emptyempty($mailbcc)) { 
  28.       $mailheader.= "Bcc: " . $mailbcc ."n"
  29.     } 
  30.      
  31.     if (emptyempty($mailbody)) { 
  32.       $mailbody=" "
  33.     } 
  34.    
  35.     $result = mail ($to$mailsubject$mailbody$mailheader); 
  36.     echo "<center><b>Mail sent to ""$to""<br>"
  37.     echo $mailsubject"<br>"
  38.     echo $mailbody"<br>"
  39.     echo $mailheader"<br>"
  40.     if ($result) { 
  41.        echo "<p><b>Email sent successfully!</b></p>"
  42.     }else
  43.        echo "<p><b>Email could not be sent. </b></p>"
  44.     } 
  45.   ?> 
  46.   <div align="center"
  47.   <table><tr><td width="66"><div align="right"><b>To</b></div></td> 
  48.              <td width="308"><b><?php echo $mailtoname . " ["$mailtomail . " ]";?></b></td></tr> 
  49.           
  50.          <tr><td width="66"><div align="right"><b>CC</b></div></td> 
  51.              <td width="308"><b><?php echo $mailcc;?></b></td></tr> 
  52.          <tr><td width="66"><div align="right"><b>BCC</b></div></td> 
  53.              <td width="308"><b><?php echo $mailbcc; ?></b></td></tr> 
  54.          <tr><td width="66"><div align="right"><b>Priority</b></div></td> 
  55.              <td width="308"><b><?php echo $mailpriority;?></b></td></tr> 
  56.          <tr><td width="66"><div align="right"><b>Subject </b></div></td> 
  57.              <td width="308"><b><?php echo $mailsubject;?></b></td></tr> 
  58.          <tr><td width="66"><div align="right"><b>Message</b></div></td> 
  59.              <td width="308"><b><?php echo $mailbody;?></b></td></tr> 
  60.   </table> 
  61.   </div> 
  62.   </body> 
  63.   </html> 

在 message 参数规定的消息中,行之间必须以一个 LF(n)分隔,每行不能超过 70 个字符,Windows 下,当 PHP 直接连接到 SMTP 服务器时,如果在一行开头发现一个句号,则会被删掉,要避免此问题,将单个句号替换成两个句号.

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生