热搜词
发表于 2012-9-14 16:16:00 | 显示全部楼层 |阅读模式
  php本身提供了一个邮件发送函数mail,可以在程序中直接发送电子邮件,不过该函数要求服务器支持 sendmail 或者必须设置一台不需要中继的邮件发送服务器,但现在要找到一台不需要身份验证的邮件发送中继几乎不可能,所以服务器如果没有安装sendmail服务使用mail函数往往无法成功发送email。

 自己如果熟悉SMTP协议,结合socket功能就可以编写高效稳定的邮件发送程序,但对一般用户来说太困难.好在互联网上已经有很多别人编写好的邮件发送模块,我们只需要下载后简单调用即可,十分方便。在此我们给用户推荐一个php下功能十分强大,易用且免费的SMTP类模块-PHPMailer。

下载地址 http://downinfo.myhostadmin.net/phpMailer_v2.3.zip

PHPMailer是一个用于发送电子邮件的PHP函数包。它提供的功能包括:
*.在发送邮时指定多个收件人,抄送地址,暗送地址和回复地址
*.支持多种邮件编码包括:8bit,base64,binary和quoted-printable
*.支持SMTP验证
*.支持冗余SMTP服务器
*.支持带附件的邮件和Html格式的邮件
*.自定义邮件头
*.支持在邮件中嵌入图片
*.调试灵活
*.经测试兼容的SMTP服务器包括:
Sendmail,qmail,Postfix,Imail,Exchange等
*.可运行在任何平台之上


下载该组件后,然后把
class.phpmailer.php
class.pop3.php
class.smtp.php
三个class.***.php文件放到网站根目录下,
按如下示例编写代码即可实现php在线发送邮件。
 
一、前台表单,另存为index.html文件
  1. <p><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>">
  2. <html xmlns="<a href="http://www.w3.org/1999/xhtml">http://www.w3.org/1999/xhtml</a>">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  5. <title>在线留言</title>
  6. </head></p><p><body>
  7. <TABLE border=0 cellSpacing=1 width="90%" align=center>
  8. <form name="phpmailer" action="mail.php" method="post">
  9. <TBODY>
  10. <TR>
  11. <TD height=20 width="29%" align=right><FONT
  12. color=#000000>收件人邮箱:</FONT></TD>
  13. <TD height=20 width="71%"><INPUT name="address" type="text" class=text id="title" value="<a href="mailto:lxtdj@163.com">lxtdj@163.com</a>"
  14. size=30 maxLength=20>
  15. <FONT color=#ff0000>*</FONT></TD></TR>
  16. <TR>
  17. <TR>
  18. <TD height=20 width="29%" align=right><FONT
  19. color=#000000>标题名称:</FONT></TD>
  20. <TD height=20 width="71%"><INPUT name="title" type="text" class=text id="title"
  21. size=30 maxLength=20>
  22. <FONT color=#ff0000>*</FONT></TD></TR>
  23. <TR>
  24. <TD height=20 width="29%" align=right><FONT
  25. color=#000000>你的姓名:</FONT></TD>
  26. <TD height=20 width="71%"><INPUT class=text maxLength=20
  27. size=30 type="text" name="name">
  28.   <FONT color=#ff0000> *</FONT></TD></TR>
  29. <TR>
  30. <TD height=17 width="29%" align=right><FONT
  31. color=#000000>联系电话</FONT><FONT color=#000000>:</FONT></TD>
  32. <TD height=17 width="71%"><INPUT class=text maxLength=20
  33. size=30 type=text name=tel>
  34.   <FONT color=#ff0000> *</FONT></TD></TR>
  35. <TR>
  36.   <TD height=17 width="29%" align=right><FONT
  37. color=#000000>我的邮箱:</FONT></TD>
  38.   <TD height=17 width="71%"><INPUT class=text maxLength=30
  39. size=30 type=text name=mymail>
  40.     <font color="#ff0000">*</font></TD></TR>
  41. <TR>
  42.   <TD height=61 width="29%" align=right><FONT
  43. color=#ff0000>*</FONT><B><FONT
  44. color=#000000>留言内容</FONT></B><FONT color=#000000>:</FONT></TD>
  45.   <TD height=61 vAlign=top width="71%"><TEXTAREA class=text rows=6 cols=45 name=Content></TEXTAREA>
  46.     <FONT
  47. color=#ff0000> *</FONT></TD></TR>
  48. <TR>
  49. <TD height=23 width="29%" align=right> </TD>
  50. <TD height=23 vAlign=top width="71%"><INPUT class=btn value=提交订单 type=submit name=submit>
  51. <INPUT class=btn value=全部重写 type=reset name=B1></TD></TR></TBODY></form></TABLE>
  52. </body>
  53. </html></p>
复制代码
二、后台PHP程序,另存为mail.php文件

<?php
$address = $_POST['address'];
$title = $_POST['title'] ;
$name = $_POST['name'] ;
$tel = $_POST['tel'] ;
$mymail = $_POST['mymail'] ;
$Content = $_POST['Content'] ;

require("class.phpmailer.php"); //下载的文件必须放在该文件所在目录
$mail = new PHPMailer(); //建立邮件发送类
$mail->IsSMTP(); // 使用SMTP方式发送
$mail->Host = "smtp.163.com"; // 您的企业邮局域名
$mail->SMTPAuth = true; // 启用SMTP验证功能
$mail->Username = "jsshedu@163.com"; // 邮局用户名(请填写完整的email地址)
$mail->Password = "53947846"; // 邮局密码
$mail->From = "jsshedu@163.com"; //邮件发送者email地址
$mail->FromName = $name;
$mail->AddAddress("$address", "$name");//收件人地址,可以替换成任何想要接收邮件的email信箱,格式是AddAddress("收件人email","收件人姓名")
//$mail->AddReplyTo("", "");
//$mail->AddAttachment("/var/tmp/file.tar.gz"); // 添加附件
$mail->IsHTML(true); // set email format to HTML //是否使用HTML格式
$mail->Subject = $title; //邮件标题
$mail->Body ="
姓名:$name <br>
电话:$tel <br>
邮箱:$mymail <br>
内容:$Content
"; //邮件内容
$mail->AltBody = "This is the body in plain text for non-HTML mail clients"; //附加信息,可以省略
if(!$mail->Send())
{
echo "邮件发送失败,三秒后返回主页... <p>";
echo "错误原因: " . $mail->ErrorInfo;
exit;
}
header("refresh:3; url=index.html");
echo "邮件发送成功,三秒后返回主页...";

?>

全部评论0
回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-1-29 07:19 , Processed in 0.203412 second(s), 26 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2025 Discuz! Team