无论是一个网站还是一个博客,站长与网友的互动,不但需要有一个QQ、Email,更需要一个在线的即时Email联系表单。在Wordpress博客中有很多插件能够实现这种功能。但如果发送一个邮件都得调用WP程序的话,速度慢、安全系数不高,不如单独创建一个联系页面。
创建一个feedback.php 页面
- <?php
- $email = $_REQUEST['email'] ;//留言者的Email
- $message = strip_tags($_REQUEST['message']);//留言信息,去除HTML标记
- if(!empty($message)){
- mail( "username@example.com", "Feedback Form Blog", $message.'From:'.$email , "From: username@example.com");//调用系统函数 mail() 发送邮件。
- //第一个参数是接收者,第二个参数是标题,这里设置了固定的标题,第三个是留言信息,第四个实际上设置了发送者的邮箱,为了防止被邮件系统误判为垃圾邮件,且安全起见,最好不要用用户直接输入的邮箱。
- header('Location:http://photozero.net/thankyou.html');//留言完转到感谢页面
- }
- ?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-type" content="text/html;charset=utf-8" />
- <title>Feedback</title>
- </head>
- <body>
- <!-- 创建一个提交信息的表单 -->
- <form method="post" action="feedback.php">
- 您的邮箱: <input name="email" type="text" /><br />
- 意见或建议:<br />
- <textarea name="message" rows="15" cols="40"></textarea><br />
- <input type="submit" value="提交" />
- </form>
- </body>
- </html>
需要有几个需要注意的地方。
1.mail() 函数。不是所有的空间都可以使用mail()函数的,要取决于所在的服务器是否有正确设置了sendmail,否则即使使用了mail()函数也是无法发信的。创建这个页面后最好自己试一下能否使用。一般来说,国外比较大的空间,如我用的Dreamhost,mail函数都配置得挺好的,可以直接用。而国内很多空间的服务水平很差,很多函数、PHP库都没有设置、启用。我曾经用过的某个国内空间就是这样,(甚至连 iconv 这个很重要的函数都不支持,PHP版本居然还是 4.2.5的,我问他们技术支持,让他们升级PHP版本,他们却无动于衷)如果mail() 函数无法使用,则可能需要使用一些第三方的MAIL库或MAIL类,我也没试过,下回找一个
2.编码。国内很多邮箱是采用了GB2312等编码,建议在mail()函数的第四个参数(邮件的HEADER)设置一下,如这个代码来取代mail函数
- function mailer($to,$subject,$content,$header = ""){
- $header .= "Content-type: text/plain; charset=utf-8 \r\n";//设置邮件编码
- $header .= "Content-Transfer-Encoding: 8bit\r\n";
- $subject = "=?UTF-8?B?".base64_encode($subject)."?="; //对标题进行编码,
- @mail($to,$subject,$content,$header);
- }
- mailer( "username@example.com", strip_tags($_REQUEST['title']), $message.'From:'.$email , "From: username@example.com");
其他CSS之类的自己随便做一下就好了,挺简单的吧:)