本文實例講述了php mailer類調用遠程SMTP服務器發送郵件實現方法。分享給大家供大家參考,具體如下:
php mailer 是一款很好用的php電子郵件發送類模塊,可以調用本地的smtp發送電子郵件,也可以調用遠程的smtp發送電子郵件,但是使用時需要注意一些事項,否則就會造成發送失敗,或者根本不能調用的情況,本文就我在使用這個類時,遇到的問題和解決辦法進行展開,簡要說明一下php mailer的用法,及注意事項。
首先下載phpmailer類庫文件,在這里下載,只需一個資源分。
下載之后,將這個文件,即class.phpmailer.php 放到你的工程的某個目錄下,在需要發送郵件的地方這樣寫:
<?phprequire '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 = "yourname@yourdomain.com"; // 遠程SMTP 服務器上的用戶名 $mail->Password = "yourpassword"; // 你的遠程SMTP 服務器上用戶對應的密碼 //$mail->IsSendmail(); //告訴這個類使用Sendmail組件,使用的時候如果沒有sendmail組建就要把這個注釋掉,否則會有 $mail->AddReplyTo("yourname@yourdomain.com","First Last"); $mail->From = "fromname@yourdomain.com"; $mail->FromName = "First Last"; $to = "toname@domain.com"; $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 ”的錯誤!