php发送邮件
用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