在网站开发技术中,有需要用户注册的时候,需要邮箱验证的功能。前几天把这个功能写完了,今天总结一下,方便以后的应用。
这个用的是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 = "wyqwb1103@163.com";
$mail->Password = "*****";//这个就是输入你对应上面邮箱的密码
//$mail->IsSendmail(); //如果没有sendmail组件就注释掉,否则出现“Could not execute: /var/qmail/bin/sendmail ”的错误提示
$mail->AddReplyTo("wyqwb1103@163.com","mckee");//回复地址
$mail->From = "wyqwb1103@163.com";//显示这封邮件 是从哪发过来的
$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) {
}
}
}
然后你调用这个方法 会神奇的发现 就可以接收到邮件了