第一,需要下載PHPMailer文件包phpmailer. http://phpmailer.sourceforge.net/
第二,確認你的服務器系統已經支持socket ,通過phpinfo();查看是否支持sockets(socket 是屬於PHP擴展部分),如果顯現爲“enabled”,那就是支持了。
第三,把文件解壓到你的web服務器目錄下,調用類就可以了.
首先包含class.phpmailer.php,然後創建對象,設置參數,調用成員函數。具體請見下面的示例代碼:
實例1,做成函數方便調用
- <?php
- 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 = "管理員"; // 發件人
- $mail->CharSet = "GB2312"; // 這裏指定字符集!
- $mail->Encoding = "base64";
- $mail->AddAddress($sendto_email,"username"); // 收件人郵箱和姓名
- $mail->AddReplyTo("[email protected]","yourdomain.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>
- I love php。
- </body>
- </html>
- ";
- $mail->AltBody ="text/html";
- if(!$mail->Send())
- {
- echo "郵件發送有誤 <p>";
- echo "郵件錯誤信息: " . $mail->ErrorInfo;
- exit;
- }
- else {
- echo "$user_name 郵件發送成功!<br />";
- }
- }
- // 參數說明(發送到, 郵件主題, 郵件內容, 附加信息, 用戶名)
- smtp_mail("[email protected]", "歡迎使用phpmailer!", "NULL", "yourdomain.com", "username");
- ?>
要注意的內容:
1. 郵件的字符集設置, $mail->CharSet = "GB2312"; // 這裏指定字符集!在這裏我只指定爲GB2312因爲這樣Outlook能正常顯示郵件主題,我嘗試過設爲utf-8但在Outlook下顯示亂碼。
2. 如果是發送html格式的郵件,那麼記得也指定<meta ... charset=GB2312">
3. 如果你想用它來羣發郵件的話,記得修改包含文件函數,如:
require("phpmailer/class.phpmailer.php");
改爲
require_once("phpmailer/class.phpmailer.php");
否則的話會產生類的重定義。
以上代碼是引用
經過下午的使用,個人認爲要使用phpmailer,
首先需要有一個郵件服務器
PHP的 mail函數沒有指定,應該是使用的PHP設置的SMTP
而在這裏需要具體指定
同時需要指定郵件服務器的管理者和密碼