php发送邮件

dabian 2013-07-12

用PHP发送邮件,可以用PHPMailer。PHPMailer是一个用于发送电子邮件的PHP函数包

那么PHPMailer怎么用呢?

第一步当然是下载PHPMailer包,有两个版本、php4版本和php5/6版本的下载自己合适的

下载完以后,看到里面有很多文件,其实大部分都用不到

然后进入test看到testemail.php文件这里面是一个例子

代码类似

<?php

/**

*SimpleexamplescriptusingPHPMailerwithexceptionsenabled

*@packagephpmailer

*@version$Id$

*/

require'../class.phpmailer.php';

try{

$mail=newPHPMailer(true);//Newinstance,withexceptionsenabled

$body=file_get_contents('contents.html');//发送的内容

$body=preg_replace('/\\\\/','',$body);//Stripbackslashes

$mail->IsSMTP();//telltheclasstouseSMTP

$mail->SMTPAuth=true;//enableSMTPauthentication

$mail->Port=25;//settheSMTPserverport

$mail->Host="smtp.163.com";//SMTPserver

$mail->Username="[email protected]";//SMTPserverusername

$mail->Password="*********";//填写你自己邮箱的密码

//$mail->IsSendmail();//telltheclasstouseSendmail

$mail->AddReplyTo("[email protected]","FirstLast");

$mail->From="[email protected]";//发件人邮箱

$mail->FromName=“小白";//发件人

$to="[email protected]";//收件人

$mail->AddAddress($to);

$mail->Subject="FirstPHPMailerMessage";

$mail->AltBody="Toviewthemessage,pleaseuseanHTMLcompatibleemailviewer!";//optional,commentoutandtest

$mail->WordWrap=80;//setwordwrap

$mail->MsgHTML($body);

$mail->IsHTML(true);//sendasHTML

$mail->Send();

echo'Messagehasbeensent.';

}catch(phpmailerException$e){

echo$e->errorMessage();

}

?>

上面代码,有注释说明的比较重要需要认真填写一下

有不懂SMTP服务器的可以参考一下wordpress发送解决方法这篇文章

注意:

1.如果报错:Couldnotexecute:/var/qmail/bin/sendmail

那么你需要把配置文件中的$mail->IsSendmail();注释掉

2.如果你用的是空间

报错:SMTPError:CouldnotconnecttoSMTPhost

那么你需要修改

class.smtp.php

$this->smtp_conn=@fsockopen

改为

$this->smtp_conn=@pfsockopen

因为很多空间把fsockopen禁用了!

按照以上步骤,您的邮件应该已经发送成功了

其实phpmailer包我们真正用到的文件只有class.phpmailer.php和class.smtp.php

相关推荐