第一步:需要下載PHPMailer文件包phpmailer-1.73.tar.gz 來自開源社區: http://phpmailer.sourceforge.net/
第二步:確認你的服務器系統已經支持socket 如下圖,通過phpinfo();查看是否支持sockets
如果沒有這一項就請注意: socket 是屬於PHP擴展部分,編譯時必須給定一個用於./configure --enable-sockets 的配置選項。
第三步:把文件解壓到你的web服務器目錄下,調用類就可以了,說明:首先包含 class.phpmailer.php,然後創建對象,設置參數,調用成員函數。具體請見下面的示例代碼:
復制代碼 代碼如下:
<?php
/*******************************
* 作者:李英江
* 日期:2006-12-7
*******************************/
require("phpmailer/class.phpmailer.php");
function smtp_mail ( $sendto_email, $subject, $body, $extra_hdrs, $user_name) {
$mail = new PHPMailer();
$mail->IsSMTP(); // send via SMTP
$mail->Host = "200.162.244.66"; // SMTP servers
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "yourmail"; // SMTP username 注意:普通郵件認證不需要加 @域名
$mail->Password = "mailPassword"; // SMTP password
$mail->From = "[email protected]"; // 發件人郵箱
$mail->FromName = "cgsir.com管理員"; // 發件人
$mail->CharSet = "GB2312"; // 這裡指定字符集!
$mail->Encoding = "base64";
$mail->AddAddress($sendto_email,"username"); // 收件人郵箱和姓名
$mail->AddReplyTo("[email protected]","cgsir.com");
//$mail->WordWrap = 50; // set word wrap
//$mail->AddAttachment("/var/tmp/file.tar.gz"); // attachment
//$mail->AddAttachment("/tmp/image.jpg", "new.jpg");
$mail->IsHTML(true); // send as HTML
// 郵件主題
$mail->Subject = $subject;
// 郵件內容
$mail->Body = '
<html><head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=GB2312"></head>
<body>
歡迎來到<a href="http://www.cgsir.com">http://www.cgsir.com</a> <br /><br />
感謝您注冊為本站會員!<br /><br />
</body>
</html>
';
$mail->AltBody ="text/html";
if(!$mail->Send())
{
echo "郵件發送有誤 <p>";
echo "郵件錯誤信息: " . $mail->ErrorInfo;
exit;
}
else {
echo "$user_name 郵件發送成功!<br />";
}
}
// 參數說明(發送到, 郵件主題, 郵件內容, 附加信息, 用戶名)
smtp_mail('[email protected]', '歡迎來到cgsir.com!', 'NULL', 'cgsir.com', 'username');
?>
要注意的內容:
1. 郵件的字符集設置, $mail->CharSet = "GB2312"; // 這裡指定字符集!在這裡我只指定為GB2312因為這樣Outlook能正常顯示郵件主題,我嘗試過設為utf-8,但在Outlook下顯示亂碼。
2. 如果是發送html格式的郵件,那麼記得也指定為<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
3. 如果你想用它來群發郵件的話,記得修改包含文件函數,如:
require("phpmailer/class.phpmailer.php");
改為
require_once("phpmailer/class.phpmailer.php");
否則的話會產生類的重定義。