使用php mailer类调用远程SMTP服务器发送邮件

      php mailer 是一款很好用的php电子邮件发送类模块,可以调用本地的smtp发送电子邮件,也可以调用远程的smtp发送电子邮件,但是使用时需要注意一些事项,否则就会造成发送失败,或者根本不能调用的情况,本文就我在使用这个类时,遇到的问题和解决办法进行展开,简要说明一下php mailer的用法,及注意事项。

      首先下载phpmailer类库文件,在这里下载,只需一个资源分。 下载地址: http://download.csdn.net/source/2549515

      下载之后,将这个文件,即class.phpmailer.php 放到你的工程的某个目录下,在需要发送邮件的地方这样写:


require 'class.phpmailer.php';

try {
    $mail = new PHPMailer(true);

    $body             = file_get_contents('contents.html');  //邮件的内容写到contents.html页面里了
    $body             = preg_replace('//','', $body);     //Strip backslashes

    $mail->IsSMTP();                           // tell the class to use SMTP
    $mail->SMTPAuth   = true;                  // enable SMTP authentication
    $mail->Port       = 25;                    // set the SMTP server port
    $mail->Host       = "mail.yourdomain.com"; // 远程SMTP服务器
    $mail->Username   = "[email protected]";     // 远程SMTP 服务器上的用户名
    $mail->Password   = "yourpassword";            // 你的远程SMTP 服务器上用户对应的密码

    //$mail->IsSendmail();  //告诉这个类使用Sendmail组件,使用的时候如果没有sendmail组建就要把这个注释掉,否则会有

                                       “Could  not execute: /var/qmail/bin/sendmail ”的错误提示

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

    $mail->From       = "[email protected]";
    $mail->FromName   = "First Last";

    $to = "[email protected]";

    $mail->AddAddress($to);

    $mail->Subject  = "First PHPMailer Message";

    $mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
    $mail->WordWrap   = 80; // set word wrap

    $mail->MsgHTML($body);

    $mail->IsHTML(true); // send as HTML

    $mail->Send();
    echo 'Message has been sent.';
} catch (phpmailerException $e) {
    echo $e->errorMessage();
}
?>

 

 

注意:上面那个$mail->IsSendmail();  需要注释掉,否则如果没有sendmail组件的话,会提示 “Could  not execute: /var/qmail/bin/sendmail ”的错误!

你可能感兴趣的:(php,服务器,php,authentication,html,server,email)