创建你的电子邮件联系页面

无论是一个网站还是一个博客,站长与网友的互动,不但需要有一个QQ、Email,更需要一个在线的即时Email联系表单。在Wordpress博客中有很多插件能够实现这种功能。但如果发送一个邮件都得调用WP程序的话,速度慢、安全系数不高,不如单独创建一个联系页面。

创建一个feedback.php 页面

  1. <?php
  2.  
  3. $email = $_REQUEST['email'] ;//留言者的Email
  4. $message = strip_tags($_REQUEST['message']);//留言信息,去除HTML标记
  5. if(!empty($message)){
  6.     mail( "username@example.com", "Feedback Form Blog", $message.'From:'.$email , "From: username@example.com");//调用系统函数 mail() 发送邮件。
  7.     //第一个参数是接收者,第二个参数是标题,这里设置了固定的标题,第三个是留言信息,第四个实际上设置了发送者的邮箱,为了防止被邮件系统误判为垃圾邮件,且安全起见,最好不要用用户直接输入的邮箱。
  8.     header('Location:http://photozero.net/thankyou.html');//留言完转到感谢页面
  9. }
  10.  
  11. ?>
  12.  
  13. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  14. <html xmlns="http://www.w3.org/1999/xhtml">
  15. <head>
  16. <meta http-equiv="Content-type" content="text/html;charset=utf-8" />
  17. <title>Feedback</title>
  18. </head>
  19. <body>
  20. <!-- 创建一个提交信息的表单 -->
  21. <form method="post" action="feedback.php">
  22.     您的邮箱: <input name="email" type="text" /><br />
  23.     意见或建议:<br />
  24.     <textarea name="message" rows="15" cols="40"></textarea><br />
  25.     <input type="submit" value="提交" />
  26. </form>
  27. </body>
  28. </html>

需要有几个需要注意的地方。
1.mail() 函数。不是所有的空间都可以使用mail()函数的,要取决于所在的服务器是否有正确设置了sendmail,否则即使使用了mail()函数也是无法发信的。创建这个页面后最好自己试一下能否使用。一般来说,国外比较大的空间,如我用的Dreamhost,mail函数都配置得挺好的,可以直接用。而国内很多空间的服务水平很差,很多函数、PHP库都没有设置、启用。我曾经用过的某个国内空间就是这样,(甚至连 iconv 这个很重要的函数都不支持,PHP版本居然还是 4.2.5的,我问他们技术支持,让他们升级PHP版本,他们却无动于衷)如果mail() 函数无法使用,则可能需要使用一些第三方的MAIL库或MAIL类,我也没试过,下回找一个

2.编码。国内很多邮箱是采用了GB2312等编码,建议在mail()函数的第四个参数(邮件的HEADER)设置一下,如这个代码来取代mail函数

  1. function mailer($to,$subject,$content,$header = ""){
  2.     $header .= "Content-type: text/plain; charset=utf-8 \r\n";//设置邮件编码
  3.     $header .= "Content-Transfer-Encoding: 8bit\r\n";
  4.     $subject = "=?UTF-8?B?".base64_encode($subject)."?="; //对标题进行编码,
  5.     @mail($to,$subject,$content,$header);
  6. }
  7. mailer( "username@example.com", strip_tags($_REQUEST['title']), $message.'From:'.$email , "From: username@example.com");

其他CSS之类的自己随便做一下就好了,挺简单的吧:)

该文章发布在 PHP,标签:, , , 。收藏该永久链接

有 22 条《创建你的电子邮件联系页面》的回复

  1. benmao 说到:

    估计自己水平还达不到那水准捏。

  2. Spider 说到:

    给个例子看看,不然看不懂哈。那个友情链接自助交换怎么在我的博客上没有效果?

  3. Dianso 说到:

    功能到是齐全啊
    就是看的简陋了些 :wink:

  4. Yanxc 说到:

    对很多国内的空间确不实用。好在我用的是DREAMHOST。
    不过,这个页面也很实用,只是还需要根据主题CSS来美化一下。建议先使用runphp插件,然后再创建一个页面,最后插入这些代码,应该就可以了。
    不知道若是使用了WP-CACHE缓存插件会不会影响?

  5. 流星 说到:

    不建议在wp里面使用?就是不建议通过wp后台创建新页面?

  6. Yacca 说到:

    厄…我决定不给用户提供这样的方便-.-
    我现在连友链页面也搞不出来 2.6 怎么连模板选择都没的…

  7. Yanxc 说到:

    总的来说,菜鸟是大部分的,这样子比较方便.有些人不会用CSS美化这个页面呢^

  8. 别用鼠标点我 说到:

    我很早在幸福收藏夹就看到他有这个功能~~
    不过我博客人也少来~~暂时用不到~~流量啊·~

  9. Yanxc 说到:

    你的博客挂了半个小时……

  10. Yanxc 说到:

    奇怪,我的博客也是运作在Dreamhost中的.为何没有问题呢?