在網站開發技術中,有需要用戶註冊的時候,需要郵箱驗證的功能。前幾天把這個功能寫完了,今天總結一下,方便以後的應用。
這個用的是phpmailer 還有就是你的郵箱要開啓smtp相對應的功能 這個可以百度 很簡單的
控制器代碼:
$mail = $this->getApp()->loadUtilClass("MailUtil");//加載 MailUtil 文件
$mail->sedEmail($email,$userId);
MailUtil的主要代碼是:
include("phpmailer/class.phpmailer.php");
include("phpmailer/class.smtp.php");
class MailUtil{
public function sedEmail($emailAddress,$userId){
try {
$mail = new PHPMailer(true);
$mail->IsSMTP();
$mail->CharSet='UTF-8'; //設置郵件的字符編碼,這很重要,不然中文亂碼
$mail->SMTPAuth = true; //開啓認證
$mail->Port = 25;
$mail->Host = "smtp.163.com";
$mail->Username = "[email protected]";
$mail->Password = "*****";//這個就是輸入你對應上面郵箱的密碼
//$mail->IsSendmail(); //如果沒有sendmail組件就註釋掉,否則出現“Could not execute: /var/qmail/bin/sendmail ”的錯誤提示
$mail->AddReplyTo("[email protected]","mckee");//回覆地址
$mail->From = "[email protected]";//顯示這封郵件 是從哪發過來的
$mail->FromName = "天津單位";
$to = "".$emailAddress;
$mail->AddAddress($to);
$mail->Subject = "請激活!!!!";
$msg="感謝您關注天津聖宇集團<br><p>
如果上面不是鏈接形式,請將以下地址手工粘貼到瀏覽器地址欄再訪問。<br>
http://localhost/index.php/reg/mail_acvive/memberId/".$userId."<br><p>d
此致<br><p>
XXXXXXX.com管理團隊<br><p>
http://www.XXXXXXX.com<br><p><br><p>
----------------------------------------------------------------------<br><p>
這封信是由fang發送的。您收到這封郵件,是由於在fang.com進行新用戶註冊時填寫了這個郵箱地址。<br><p>
如果您並沒有訪問過fang.com,或沒有進行上述操作,請忽略這封郵件。<br><p>
您不需要回複次郵件或進行其他進一步的操作。<br><p>";
$mail->Body = $msg;
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; //當郵件不支持html時備用顯示,可以省略
$mail->WordWrap = 80; // 設置每行字符串的長度
//$mail->AddAttachment("f:/test.png"); //可以添加附件
$mail->IsHTML(true);
$mail->Send();
} catch (phpmailerException $e) {
}
}
}
然後你調用這個方法 會神奇的發現 就可以接收到郵件了