邮箱发送验证码

public function email()
{
//$email=input(“email”);
$email = “[email protected]”;
//return $email;
$sendmail = ‘[email protected]’; //发件人邮箱
$sendmailpswd = “jbdzddubdslobacc”; //客户端授权密码,而不是邮箱的登录密码!
$send_name = ‘lh’;// 设置发件人信息,如邮件格式说明中的发件人,
$toemail = $email;//定义收件人的邮箱
$to_name = ‘hl’;//设置收件人信息,如邮件格式说明中的收件人

$mail = new \phpmailer\PHPMailer();

$mail->isSMTP();// 使用SMTP服务
$mail->CharSet = “utf8”;// 编码格式为utf8,不设置编码的话,中文会出现乱码
$mail->Host = “smtp.qq.com”;// 发送方的SMTP服务器地址
$mail->SMTPAuth = true;// 是否使用身份验证
$mail->Username = $sendmail;//// 发送方的
$mail->SMTPDebug = 1;
$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 = “邮件内容是 您的验证码是:$code,如果非本人操作无需理会!”;// 邮件正文

$mail->AltBody = “This is the plain text纯文本”;// 这个是设置纯文本方式显示的正文内容,如果不支持Html方式,就会用到这个,基本无用
if ($mail->Send()) { // 发送邮件
echo “发送成功”;

} else {
echo “发送失败”;
}
}

出错类型
1,SMTP Error: Could not connect to SMTP host.
出现这个问题的原因是因为
public function IsSMTP() {
$this->Mailer = ‘SMTP’; //小写换成了大写
}
2,Could not instantiate mail function.
这是因为修改了PHPMailer里面的SMTP,小写换成了大写
public function IsSMTP() {
$this->Mailer = ‘SMTP’;
}
这里的小写我没有换成大写
switch($this->Mailer) {
case ‘sendmail’:
return $this->SendmailSend($header, $body);
case ‘SMTP’: //这里的小写也要换成大写;
return $this->SmtpSend($header, $body);
default:
return $this->MailSend($header, $body);
}

3,PHP Unable to find the socket transport ssl
解决方案,在php。ini里面找到extension=php_openssl.dll 去掉注释就好;
目前遇到这些问题,以及解决方案。

原文地址:https://www.cnblogs.com/xin521/p/9076995.html

时间: 2024-11-11 15:00:12

邮箱发送验证码的相关文章

C#邮箱发送验证码

public static void SendTo(string mailAddress, string subject, string body)        { //mailAddress 所要发送的邮箱地址,subject 邮件标题,body邮件内容 //发送邮件所用邮箱(163邮箱) string Email_Send = Dsis.Core.SysCore.PubFunction.DataFilter(Dsis.Core.SysCore.SysFunction.GetParamete

PHP(ThinkPHP5.0) + PHPMailer 进行邮箱发送验证码

GitHub下载最新版第三方类库PHPMailer: 第一步: 打开网址https://github.com/PHPMailer/PHPMailer/ 下载PHPMailer,PHPMailer 需要 PHP 的 sockets 扩展支持,而登录 QQ 邮箱 SMTP 服务器则必须通过 SSL 加密的, PHP 还得包含 openssl 的支持. 第二步:使用 phpinfo() 函数查看 socket 和 openssl 扩展信息(wamp server 默认启用了该扩展). openssl

Java实现邮箱发送验证码

第一步,导入JAR包,JAR包下载地址[http://pan.baidu.com/s/1kVRvGyF] 正式代码: 首先书写一个工具类: MailUtil import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import java.util.Properties; /** * 邮件工具类 */ public class MailUtil

随机验证码、图片验证码和邮箱发送用户验证码

随机验证码.图片验证码和邮箱发送用户验证码 一.随机验证码 随机验证码的生成比较简单一般在注册用户的时候与邮箱或者手机信息接口相结合实现发送验证码功能,随机验证码只需要使用python内置的random随机数函数,调用random模块:import random,具体实现代码块 #随机验证码 def authCode(): code = '' for i in range(6): current = random.randrange(0,6)#randrange随机生成0-6的数字,但不包括6

java实现邮件发送验证码

建议不要用qq邮箱,我使用qq邮箱直接一直给我报530错误,我一直认为我代码写的有错误或者POP3/SMTP服务没弄好.所以建议注册个别的邮箱,我就申请了个网易163邮箱瞬间就好了.所以去申请个别的邮箱吧. 用邮件发送验证码,首先需要jar包.我写的代码只需要mail.jar,没有的话可以给我留言,我给你发个. 废话不说了直接上代码(这个代码就是个工具类直接用就好) package com.itheima.utils; import java.util.Properties; import ja

js 发送验证码倒计时

<input  type="text"   name=''  id="btn"> //发送验证码倒计时var wait=30; function time(o) { if (wait == 0) { o.removeAttribute("disabled"); o.value="免费获取验证码"; wait = 30; }else{ o.setAttribute("disabled", true

asp.net中邮箱发送

邮箱发送今天终于解决了,从不会到会用了3个晚上才终于解决了,有好多问题都不是代码的问题,而是邮箱的设置上的问题.下面我一一的讲解一下. 1.邮箱发送的原理,我使用图片来解释 左边的[email protected]是发送的邮箱(下面我就是用a邮箱指代),右边的[email protected]是接收的邮箱(下面我就是用b邮箱指代). 1).邮箱a发送到他自己的smtp服务器上,如:邮箱a是outlook上注册的邮箱,那么邮箱a的邮件就发送到outlook上的smtp服务器上 2).通过smtp服

javascript发送验证码

一个发送验证码的javascript代码 var T = 0; var handle = null; var event = null; $(function(){ $('#sendCode').click(function(e){ if(T == 0) { var mobile = $('#name').val(); if (!/^(13[0-9]|14[0-9]|15[0-9]|18[0-9])\d{8}$/i.test(mobile)) { alert('请先填写正确的手机号码'); re

jquery实现手机发送验证码的倒计时代码(转)

var wait = 60;//时间 function time(o, p) {//o为按钮的对象,p为可选,这里是60秒过后,提示文字的改变 if (wait == 0) { //o.removeAttr("disabled"); //o.val("点击发送验证码");//改变按钮中value的值 //p.html("如果您在1分钟内没有收到验证码,请检查您填写的手机号码是否正确或重新发送"); $('#'+p).removeAttr(&quo