本文实例讲述了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 ->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 ”的错误!
希望本文所述对大家PHP程序设计有所帮助。