热搜词
发表于 2011-5-6 16:52:27 | 显示全部楼层 |阅读模式
因为服务器构建于IIS6.0,因此PHP无法使用mail()函数直接发送邮件,推荐使用php+jmail组件发送,具体php处理表单并发送到指定邮箱代码如下(mail.php):

  1. <?php
  2. $title=$_POST["title"] ;
  3. $name=$_POST["name"] ;
  4. $tel=$_POST["tel"] ;
  5. $Address=$_POST["Address"] ;
  6. $mail=$_POST["mail"] ;
  7. $Category=$_POST["Category"] ;
  8. $Budget=$_POST["Budget"] ;
  9. $Content=$_POST["Content"] ;

  10. $jmail = new COM('JMail.Message') or die('无法调用Jmail组件');
  11. $jmail->silent = true;       //屏蔽例外错误
  12. $jmail->charset = 'gb2312';     //否则中文会乱码
  13. $jmail->From = 'abc@163.com';      //这里理论上是可以不与发件人地址相同的,但用163的试了几次都不行,改成一样的就可以了
  14. $jmail->FromName = $name;    //发件人姓名
  15. $jmail->AddRecipient('123@163.com');      //可添加多个邮件接受者
  16. //$jmail->AddRecipient('123456@qq.com');
  17. //$jmail->AddRecipient('123@163.com');
  18. $jmail->Subject = $title;    //邮件标题
  19. $jmail->HTMLBody ="
  20. 姓名:$name

  21. 电话:$tel

  22. 地址:$Address

  23. 邮箱:$mail

  24. 类别:$Category

  25. 预算:$Budget

  26. 留言:$Content

  27. ";     //邮件正文
  28. $jmail->MailServerUserName = 'abc@163.com';     //发信邮件账号
  29. $jmail->MailServerPassword = 'xxxxxxxxxxxx';    //账户的密码
  30. try{
  31. $email = $jmail->Send('smtp.163.com');
  32. if($email) echo '发送成功,三秒后返回主页...';
  33. else echo '发送失败,三秒后返回主页...';
  34. } catch (Exception $e){
  35. echo $e->getMessage();
  36. }
  37. header("refresh:3; url=index.html");
  38. ?>
复制代码
html提交表单代码(index.html):
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  5. <title>在线预约</title>
  6. </head>

  7. <body>
  8. <TABLE border=0 cellSpacing=1 width="90%" align=center>
  9. <FORM method="post" action="mail.php">
  10. <TBODY>
  11. <TR>
  12. <TD height=20 width="29%" align=right><FONT
  13. color=#000000>标题名称:</FONT></TD>
  14. <TD height=20 width="71%"><INPUT name="title" type="text" class=text id="title"
  15. size=30 maxLength=20>
  16. <FONT color=#ff0000>*</FONT></TD></TR>
  17. <TR>
  18. <TD height=20 width="29%" align=right><FONT
  19. color=#000000>你的姓名:</FONT></TD>
  20. <TD height=20 width="71%"><INPUT class=text maxLength=20
  21. size=30 type="text" name="name"><FONT color=#ff0000>*</FONT></TD></TR>
  22. <TR>
  23. <TD height=17 width="29%" align=right><FONT
  24. color=#000000>联系电话</FONT><FONT color=#000000>:</FONT></TD>
  25. <TD height=17 width="71%"><INPUT class=text maxLength=20
  26. size=30 type=text name=tel><FONT color=#ff0000>*</FONT></TD></TR>
  27. <TR>
  28. <TD height=18 width="29%" align=right><FONT
  29. color=#000000>详细地址:</FONT></TD>
  30. <TD height=18 width="71%"><INPUT name=Address type=text class=text id="Address"
  31. size=30 maxLength=20></FONT></TD></TR>
  32. <TR>
  33. <TD height=17 width="29%" align=right><FONT
  34. color=#000000>E-Mail:</FONT></TD>
  35. <TD height=17 width="71%"><INPUT class=text maxLength=30
  36. size=30 type=text name=mail></TD></TR>
  37. <TR>
  38. <TD height=18 width="29%" align=right><FONT
  39. color=#000000>摄影类别:</FONT></TD>
  40. <TD height=18 width="71%"><SELECT size=1 name=Category >
  41. <OPTION selected>请你选择摄影类别</OPTION> <OPTION
  42. value=婚纱摄影>婚纱摄影</OPTION> <OPTION value=儿童摄影>儿童摄影</OPTION>
  43. <OPTION value=艺术写真>艺术写真</OPTION> <OPTION
  44. value=主题摄影>主题摄影</OPTION> <OPTION value=全家福>全家福</OPTION>
  45. <OPTION value=其它>其它</OPTION></SELECT><FONT
  46. color=#ff0000>*</FONT>(必选)</TD></TR>
  47. <TR>
  48. <TD height=18 width="29%" align=right><FONT
  49. color=#000000>摄影预算:</FONT></TD>
  50. <TD height=18 width="71%"><SELECT name=Budget size=1 id="Budget">
  51. <OPTION
  52. selected>请你选择摄影预算</OPTION> <OPTION
  53. value=1000元以下>1000元以下</OPTION> <OPTION
  54. value=1000~2000元>1000~2000元</OPTION> <OPTION
  55. value=2000~3000元>2000~3000元</OPTION> <OPTION
  56. value=3000~4000元>3000~4000元</OPTION> <OPTION
  57. value=4000~5000元>4000~5000元</OPTION> <OPTION
  58. value=5000元以上>5000元以上</OPTION></SELECT><FONT
  59. color=#ff0000>*</FONT>(必选)</TD></TR>
  60. <TR>
  61. <TD height=61 width="29%" align=right><FONT
  62. color=#ff0000>*</FONT><B><FONT
  63. color=#000000>简短留言</FONT></B><FONT color=#000000>:</FONT></TD>
  64. <TD height=61 vAlign=top width="71%"><TEXTAREA class=text rows=6 cols=45 name=Content></TEXTAREA><FONT
  65. color=#ff0000>*</FONT></TD></TR>
  66. <TR>
  67. <TD height=23 width="29%" align=right> </TD>
  68. <TD height=23 vAlign=top width="71%"><INPUT class=btn value=提交订单 type=submit name=submit>
  69. <INPUT class=btn value=全部重写 type=reset name=B1></TD></TR></TBODY></FORM></TABLE>
  70. </body>
  71. </html>
复制代码
全部评论2
灰儿 发表于 2012-9-12 10:28:28 | 显示全部楼层
  1. <?php
  2. $jmail=new COM('JMail.Message')or die('无法调用Jmail组件');
  3. //打开 php.ini 把com.allow_dcom 设为 TRUE
  4. $jmail->logging='true';
  5. //JMail 手册上的东西 日志文件打开
  6. $jmail->From='163_sina_sohu@163.com';
  7. //JMail 手册上 发信人地址
  8. $jmail->FromName='Jet Wang';
  9. //JMail 手册上 发信人名字
  10. $jmail->AddRecipient('sina_sina_sina@163.com');
  11. //JMail 手册上 收信人地址
  12. //AddRecipient('xxx@xxx.com'); 可以添加很多的 群发.
  13. $jmail->Subject='PHP+Jmail测试发送邮件';
  14. //信件名字
  15. $jmail->Body='PHP+Jmail测试发送邮件';
  16. //信件内容
  17. $jmail->MailServerUserName='163_sina_sohu';
  18. // 这个在手册上翻了半天 用户名 刚开始一直发不出去
  19. $jmail->MailServerPassword='password';
  20. //你的 163 密码
  21. $jmail->Send('smtp.163.com');
  22. // SMTP服务器 我只试了163 其他的没试~
  23. echo 发送成功;
  24. ?>
复制代码
回复

使用道具 举报

灰儿 发表于 2012-9-14 09:43:36 | 显示全部楼层
  1. <?php
  2. $jmail = new COM('JMail.Message') or die('无法调用Jmail组件');
  3. $jmail->silent = true; //屏蔽例外错误
  4. $jmail->charset = 'gb2312'; //否则中文会乱码
  5. $jmail->From = 'lxtdj@163.com'; //这里理论上是可以不与发件人地址相同的,但用163的试了几次都不行,改成一样的就可以了
  6. $jmail->FromName = '这里填写发件人姓名';
  7. $jmail->AddRecipient('53947846@qq.com'); //可添加多个邮件接受者
  8. //$jmail->AddRecipient('53947846@qq.com');
  9. //$jmail->AddRecipient('lxtdj@163.com');
  10. $jmail->Subject = '这里显示的是邮件标题';
  11. $jmail->Body = '这里显示的是邮件正文。';
  12. $jmail->MailServerUserName = 'lxtdj@163.com'; //发信邮件账号
  13. $jmail->MailServerPassword = 'xxxxxxxxxxxx'; //账户的密码
  14. try{
  15. $email = $jmail->Send('smtp.163.com');
  16. if($email) echo '发送成功';
  17. else echo '发送失败';
  18. } catch (Exception $e){
  19. echo $e->getMessage();
  20. }

复制代码
以上代码测试成功,大家可以放心使用!
回复

使用道具 举报

回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|管理员之家 ( 苏ICP备2023053177号-2 )

GMT+8, 2024-12-29 04:06 , Processed in 0.166224 second(s), 22 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2024 Discuz! Team