一、使用PHPMailer發送郵件的原因
PHP有內置的mail()方法,但是由於一些主機空間不支持該方法,所以經常會遇到無法發送郵件的情況。
所以,可以下載PHPMailer類,實現郵件發送。
二、發送郵件的具體步驟
1、先保證發件人的郵箱開啟了SMTP服務。
在這里設置,截圖如下:

設置好了就接着往下看,
2、下載的PHPMailer中,拷貝class.phpmailer.php和class.smtp.php到項目目錄下

sendmail.php
<?php /** * 2014-08-25 * 描述:PHP郵件發送 * 使用PHPMailer類 * 發送附件,多人發送 * 發送附件 * 發送附件的時候,鑒於本地網絡和服務器的速度,如不能正常上傳,修改php配置文件中的memory_limit限制 * 其他可能的限制post_max_size upload_max_filesize * 也可能要將max_execution_time修改 * 請使用前確認發送郵件的郵箱帳號開啟了SMTP */ set_time_limit(0); //如果上傳附件卡,將腳本執行限制時間修改為0 require './class.phpmailer.php'; require './class.smtp.php'; date_default_timezone_set("Asia/Shanghai");//設定時區東八區 $mail=new PHPMailer(); //建立郵件發送類 $mail->IsSMTP(); //使用SMTP形式發送 $mail->CharSet='utf-8'; //編碼 $mail->SMTPDebug = 1; // 啟用SMTP調試功能 // 1 = errors and messages // 2 = messages only $mail->SMTPAuth = true; // 啟用SMTP驗證功能 $mail->Host='smtp.qq.com'; //qq smtp 服務器,發送郵箱帳號公司的SMTP服務器 $mail->Port=25; // SMTP服務器的端口號 $mail->Username='1107989194@qq.com'; //這里填寫發件郵箱賬號 $mail->Password='********'; //這里填寫發件郵箱的密碼 $mail->AddAddress('357966443@qq.com','bO萊特2'); //$mail->AddAddress('1107989194@qq.com','風沙渡'); #多人發送 $mail->IsHTML(); //$a=$mail->AddAttachment('D:\wamp\www\user.sql','z.zip');//附件的絕對位置,上傳后附件的名稱 $mail->Subject='發送自PHPMailer的郵箱'; $mail->From='1107989194@qq.com'; //發送人的姓名 地址 $mail->FromName='風沙渡'; $mail->Body='測試一下4'; $mail->AltBody='附加信息'; if(!$mail->send()){ echo '郵件發送失敗'.'</br>'; echo '錯誤原因'.$mail->ErrorInfo; }else{ echo '郵件發送成功'; } ?>
這樣就ok了,可以測試。
如果出現了下面這圖的問題,那就是沒有設置發件郵箱開啟SMTP服務。設置一下即可

