本文實例講述了php mailer類調用遠程SMTP服務器發送郵件實現方法。分享給大家供大家參考,具體如下:
php mailer 是一款很好用的php電子郵件發送類模塊,可以調用本地的smtp發送電子郵件,也可以調用遠程的smtp發送電子郵件,但是使用時需要注意一些事項,否則就會造成發送失敗,或者根本不能調用的情況,本文就我在使用這個類時,遇到的問題和解決辦法進行展開,簡要說明一下php mailer的用法,及注意事項。
首先下載phpmailer類庫文件,在這里下載,只需一個資源分。
下載之后,將這個文件,即class.phpmailer.php 放到你的工程的某個目錄下,在需要發送郵件的地方這樣寫:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
<?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 ->Password = "yourpassword" ; // 你的遠程SMTP 服務器上用戶對應的密碼 //$mail->IsSendmail(); //告訴這個類使用Sendmail組件,使用的時候如果沒有sendmail組建就要把這個注釋掉,否則會有 $mail ->FromName = "First Last" ; $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程序設計有所幫助。