虚拟主机域名注册-常见问题虚拟主机问题 → 虚拟主机问题


[原创]如何用(yòng)php结合phpmailer发送邮件
作者:

  php本身提供了一个邮件发送函数mail,可(kě)以在程序中直接发送電(diàn)子邮件,不过该函数要求服務(wù)器支持sendmail
或者必须设置一台不需要中继的邮件发送服務(wù)器,但现在要找到一台不需要身份验证的邮件发送中继几乎不可(kě)能(néng).
所以使用(yòng)mail函数往往无法成功发送email.
 自己如果熟悉SMTP协议,结合socket功能(néng)就可(kě)以编写高效稳定的邮件发送程序,但对一般用(yòng)户来说太困难.好在互联网上已经有(yǒu)很(hěn)多(duō)别人编写好的邮件发送模块,我们只需要下载后简单调用(yòng)即可(kě),十分(fēn)方便.
 在此我们给用(yòng)户推荐一个php下功能(néng)十分(fēn)强大,易用(yòng)且免费的SMTP类模块-PHPMailer,(下载地址http://www.phpe.net/class/32.shtml)

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



 下载该组件后,按如下示例编写代码即可(kě)实现php在線(xiàn)发送邮件.
 

  一:前台表单

<html>
<body>
<h3>phpmailer Unit Test</h3>
请你输入<font color="#FF6666">收信</font>的邮箱地址:
<form name="phpmailer" action="send.php" method="post">
<input type="hidden" name="submitted" value="1"/>
邮箱地址: <input type="text" size="50" name="address" />
<br/>
<input type="submit" value="发送"/>
</form>
</body>
</html>

 二:后台PHP程序


 <?php
require("class.phpmailer.php"); //下载的文(wén)件必须放在该文(wén)件所在目录
$mail = new PHPMailer(); //建立邮件发送类
$address = $_POST['address'];
$mail->IsSMTP(); // 使用(yòng)SMTP方式发送
$mail->Host = "mail.xxxxx.com"; // 您的企业邮局域名
$mail->SMTPAuth = true; // 启用(yòng)SMTP验证功能(néng)
$mail->Username = "user@xxxx.com"; // 邮局用(yòng)户名(请填写完整的email地址)
$mail->Password = "******"; // 邮局密码

$mail->From = "user@xxxx.com"; //邮件发送者email地址
$mail->FromName = "您的名称";
$mail->AddAddress("$address", "");//收件人地址,可(kě)以替换成任何想要接收邮件的email信箱,格式是AddAddress("收件人email","收件人姓名")
//$mail->AddReplyTo("", "");

//$mail->AddAttachment("/var/tmp/file.tar.gz"); // 添加附件
//$mail->IsHTML(true); // set email format to HTML //是否使用(yòng)HTML格式

$mail->Subject = "PHPMailer测试邮件"; //邮件标题
$mail->Body = "Hello,这是测试邮件"; //邮件内容
$mail->AltBody = "This is the body in plain text for non-HTML mail clients"; //附加信息,可(kě)以省略

if(!$mail->Send())
{
 echo "邮件发送失败. <p>";
 echo "错误原因: " . $mail->ErrorInfo;
 exit;
}

echo "邮件发送成功";
?>



来源:
阅读:4815
日期:2008-01-24

【 双击滚屏 】 【 推荐朋友 】 【 收藏 】 【 打印 】 【 关闭 】 【 字體(tǐ): 小(xiǎo) 】 
上一篇:已经没有(yǒu)了。
下一篇:已经没有(yǒu)了。
  >> 相关文(wén)章
 

期待聆听您的声音

15811826684

一直坚持网站建设,致力于做長(cháng)遠(yuǎn)的网站建设服務(wù)商(shāng)
网站建设 网站设计 网站开发