php邮箱发送验证码

发布时间:2024-09-30 点击:39
首先我们需要一个发送邮件的账号,比如qq号,
我们先登录qq邮箱点击设置里面配置smtp选项
把关闭的pop3和smtp打开,这个过程需要绑定的手机发送短信,点击发送之后然后页面会弹出一个smtp的一大串的密码,这个很需要
记录下来之后,就可以在我们的php中进行啪啪啪了
//发送邮件
public function email(){
$email=input("post.email");//获取收件人邮箱
//return $email;
$sendmail = \\\’xxxxxx@qq.com\\\’; //发件人邮箱
$sendmailpswd = "xxxxxxx"; //客户端授权密码,而不是邮箱的登录密码,就是手机发送短信之后弹出来的一长串的密码
$send_name = \\\’lh\\\’;// 设置发件人信息,如邮件格式说明中的发件人,
$toemail = $email;//定义收件人的邮箱
$to_name = \\\’hl\\\’;//设置收件人信息,如邮件格式说明中的收件人
$mail = new phpmailer();
$mail->issmtp();// 使用smtp服务
$mail->charset = "utf8";// 编码格式为utf8,不设置编码的话,中文会出现乱码
$mail->host = "smtp.qq.com";// 发送方的smtp服务器地址
$mail->smtpauth = true;// 是否使用身份验证
$mail->username = $sendmail;//// 发送方的
$mail->password = $sendmailpswd;//客户端授权密码,而不是邮箱的登录密码!
$mail->smtpsecure = "ssl";// 使用ssl协议方式
$mail->port = 465;// qq端口465或587)
$mail->setfrom($sendmail, $send_name);// 设置发件人信息,如邮件格式说明中的发件人,
$mail->addaddress($toemail, $to_name);// 设置收件人信息,如邮件格式说明中的收件人,
$mail->addreplyto($sendmail, $send_name);// 设置回复人信息,指的是收件人收到邮件后,如果要回复,回复邮件将发送到的邮箱地址
$mail->subject = "这里是邮件标题";// 邮件标题
$code=rand(100000,999999);
session("code",$code);
//return $code."—-".session("code");
$mail->body = "邮件内容是 <b>您的验证码是:$code</b>,如果非本人操作无需理会!";// 邮件正文
//$mail->altbody = "this is the plain text纯文本";// 这个是设置纯文本方式显示的正文内容,如果不支持html方式,就会用到这个,基本无用
if (!$mail->send()) { // 发送邮件
31 echo "message could not be sent.";
echo "mailer error: " . $mail->errorinfo;// 输出错误信息
} else {
return “发送成功”;
}
}
如果你就是直接的这样写那么你又会出现一系列的问题;
发送邮件我们需要一个扩展包随便下一个phpmailer包;
我们需要里面的phpmailer.php,class.smtp.php两个文件,放在extend文件下新建一个phpmailer文件夹下
phpmailer.php如果是class.phpmailer.php就把前面的class去掉(我是在tp5框架)
分别在两个文件里面加上命名空间use phpmailerphpmailer;
不然会出现phpmailer not found 和 smtp not found
除此之外还要把phpmailer里面的最后一个方法继承的exception改成 exception
基本上直接就可以调用方法了,收到一份来自你自己的邮件;

深圳云服务器生产商服务价格
云服务器云硬盘吗
新用户赠京东卡,大米云主机助你轻启云计算之旅
安装手写板驱动的详细教程
重新申请二年-其他问题
ecs云服务器怎么取消挂载磁盘
电脑中常用的网络检测命令|电脑中检测网络是否存在故障的几条命令
麻烦看下怎么回事好像删了我们网站其他页面