本文章是关于使用form表单来发送邮件的一个实例,文章既提到了form表单的使用方法和php处理数据的方法,又提到了php邮件发送的方法,请看下面实例代码:

html代码如下:

<html>
  <head>
  < >使用form表单发送邮件实例</ >
  </head>
  <body>
  <h1>Mail Form</h1>
  <form name=\"form1\" method=\"post\" action=\"SimpleEmail.php\">
  <table>
      <tr><td><b>To</b></td><td><input type=\"text\" name=\"mailto\" size=\"35\"></td></tr>
      <tr><td><b>Subject</b></td>
          <td><input type=\"text\" name=\"mailsubject\" size=\"35\"></td></tr>
      <tr><td><b>Message</b></td>
          <td><textarea name=\"mailbody\" cols=\"50\" rows=\"7\"></textarea></td>
      </tr>
      <tr><td colspan=\"2\">
            <input type=\"submit\" name=\"Submit\" value=\"Send\">
          </td>
      </tr>
   </table>
 </form>
 </body>
 </html>

该表单包括了常用表单元素:单行文本框、多行文本框、以及提交按钮。下面对这些表单元素的属性进行说明:

name:文本框的名称,PHP根据该名称,在超级全局数组中建立以name为名称的键名,name属性主要用于服务器接收数据。

size:文本框的宽度,在select下拉菜单中,表示可以看到的选项行数

value:文本框中的默认值,注意,该值不能应用到type=password密码文本框以及type=file文件文本框中

rows:多行文本框显示时可以容纳的字符列数宽度

cols:多行文本框显示时可以容纳的字符行数高度

 

php服务器处理表单代码:

 <?php
    $mailto=$_POST[\'mailto\'];
    $mailsubject=$_POST[\'mailsubject\'];
    $mailbody=$_POST[\'mailbody\'];
    if (empty ($mailto) ) {
       die ( \"Recipient is blank! \") ;
    }

    if (empty ($mailsubject) ){
       $mailsubject=\" \" ;
    }

    if (empty ($mailbody) ) {
       $mailbody=\" \" ; 
    }

    $result = mail ($mailto, $mailsubject, $mailbody) ;

    if ($result) {
       echo \"Email sent successfully!\" ;
    }else{
       echo \"Email could not be sent.\" ;
    }
?>

由于表单是以post方式传送到服务器的,所以获取数据时需要使用$_POST来获取,如:

$_POST['mailto']表示表单元素name为mailto的value

获取到表单数据后,将这些数据进行处理并使用mail函数发送邮件。

这里使用到php empty函数对表单数据进行了验证,大家可以自己研究一下。

说明:使用POST方式提交表单,通过HTTP协议的header部分传递表单数据,理论上数据的大小无上限。不过,在使用PHP进行POST提交时,文件大小受PHP配置文件(php.ini)限制,我们可以修改php.ini文件中的post_max_size参数,可将默认的2M字节,修改为自己需要的大小,但由于HTTP协议的特性,这个值不宜设置过大,最大以8M为宜。

收藏 打印