当前位置: 首页 > news >正文

江苏烟草电商网站怎么做上海关键词推广公司

江苏烟草电商网站怎么做,上海关键词推广公司,php图片怎么导入wordpress,高端模板网站建设验证码的使用场景 注册/登录:使用验证码可以有效减少垃圾账号注册和恶意登录;短信接口保护:高效减少防止短信接口被刷情况;提交/投票:有效减少恶意刷单、恶意提交、恶意投票等情况;密码找回:用…

验证码的使用场景

  1. 注册/登录:使用验证码可以有效减少垃圾账号注册和恶意登录;
  2. 短信接口保护:高效减少防止短信接口被刷情况;
  3. 提交/投票:有效减少恶意刷单、恶意提交、恶意投票等情况;
  4. 密码找回:用于找回密码、修改手机等需要校验用户属于本人操作的情况;
  5. 支付验证:用户付款时验证手机号,保障用户资金安全。

例子:golang发送qq邮件

第一步:拿到授权码

通过编码的方式发送邮件,就是调用qq邮箱提供的接口来进行邮件的发送,我们在编写该功能前,需要拿到qq邮箱的POP3/SMTP服务的授权码。

我们开启SMTP/IMAP服务,生成授权码,保存一下授权码,后面要用到。

第二步:下载依赖包

 go get gopkg.in/gomail.v2

这个例子中我使用的是 gopkg.in/gomail.v2 包,发送邮件也可以用 github.com/jordan-wright/email 包。

第三步:写代码

注意要点:

  1. 验证码有效时间
  2. 两次发送验证码的间隔时间
  3. 一个验证码只能使用一次

因为涉及到数据库,所以我省略掉了这部分的代码,读者自行添加

将项目中的发送邮件的内容抽取出来得到以下简略代码:

package mainimport ("fmt""gopkg.in/gomail.v2""math/rand""time"
)// RandomGenerateVerificationCode 随机生成长度为 l 的数字字母混合验证码
func RandomGenerateVerificationCode(l int) string {rand.Seed(time.Now().UnixNano())const letters = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"b := make([]byte, l)for i := range b {b[i] = letters[rand.Intn(len(letters))]}return string(b)
}// sendEmail from 给 to 发送指定的邮件消息
func sendEmail(from string, to string, subject string, body string, authorizeCode string) error {m := gomail.NewMessage()// 设置邮件消息的头部字段(例如发件人、收件人、主题等)。m.SetHeader("From", from) // 发送人m.SetHeader("To", to)     //  接收人// m.SetAddressHeader("Cc", "xxx@qq.com", "xiaozhujiao") // 抄送人m.SetHeader("Subject", subject) // 主题m.SetBody("text/plain", body)   // 正文的内容。text/plain表示纯文本,"text/html" 表示 HTML 内容。// m.Attach("myIpPic.png") // 附件// gomail.NewDialer():创建一个新的邮件拨号器对象,用于通过指定的 SMTP 服务器发送邮件。// 四个参数:// host:SMTP 服务器的主机地址。例如 "smtp.qq.com"。// port:SMTP 服务器的端口号。例如 587。// username:SMTP 服务器的用户名(通常是你的邮箱地址)。// password:SMTP 服务器的密码(或者授权码)。d := gomail.NewDialer("smtp.qq.com", 587, from, authorizeCode)// 通过拨号器对象发送指定的邮件消息if err := d.DialAndSend(m); err != nil {return err}return nil
}func main() {l := 6code := RandomGenerateVerificationCode(l)from := "XXXXXXXXX@qq.com"to := "XXXXXXX@qq.com"subject := "验证码"body := fmt.Sprintf("你的验证码为 %s,有效时间为 %s\n", code, "5分钟")authorizeCode := "XXXXXXXXXXXX" // 授权代码err := sendEmail(from, to, subject, body, authorizeCode)if err != nil {fmt.Println("err = ", err)return}// 从数据库中检验密码(注意密码加密)......}

结果:

如果想要发送的结果更好看一点,我们可以添加html代码,将main函数里面的body修改为:

body := fmt.Sprintf(`<!DOCTYPE html><html><head><meta charset="UTF-8"><title>验证码</title><style>body { font-family: Arial, sans-serif; }.container { padding: 20px; border: 1px solid #ddd; border-radius: 5px; }h1 { color: #333; }.code { font-size: 24px; font-weight: bold; color: #007bff; }.footer { margin-top: 20px; font-size: 12px; color: #888; }</style></head><body><div class="container"><h1>你的验证码</h1><p class="code">%s</p><p>有效时间为 5 分钟</p><div class="footer">如果您没有请求此验证码,请忽略此邮件。</div></div></body></html>`, code)

再次运行代码,结果如下:

当然除此之外还有行为验证码,图片验证码,语音验证码...图片如下:

http://www.shuangfujiaoyu.com/news/22196.html

相关文章:

  • 网络购物网站建设西安关键字优化哪家好
  • 临沂做网站网络营销推广的方式有哪些
  • 西安网站公司建设关键词排名查询工具有哪些
  • 网站的栏目规划樱桃磁力bt天堂
  • 周期购那个网站做的比较好网络宣传方式
  • 企业网站建设顾问深圳网络营销模式
  • 网站 iss淘宝指数转换
  • 外贸网站建设公司报价seo站长工具是什么
  • 租二级目录做网站2020最成功的网络营销
  • wordpress twenty fourteen主题做的演示网站百度一下 你就知道官网
  • 先做网站还是先备案淘宝关键词排名查询
  • 做网站有什么js特效热门搜索关键词
  • 福州哪家企业网站建设设计最高端经典软文广告
  • 英语字体设计网站好360地图下载最新版
  • 做独立网站给你如何把网站推广出去
  • 百度做一个网站怎么做呢十大微商推广平台
  • 免费一键生成logo网站广告联盟看广告赚钱
  • 小城市网站建设业务网站整合营销推广
  • 政府网站开发建设方案云南网站建设快速优化
  • 哪里学网站开发营销网站建站公司
  • 不懂代码怎么做网站杭州百度首页排名
  • 权威发布公众号seoer是什么意思
  • http当网站怎么做今日新闻7月1日
  • 建设网站的成本有哪些网络营销策划需要包括哪些内容
  • 网站建设项目方案新郑网络推广
  • 营销型网站制作培训网络营销的三大核心
  • 建设一中校园网站广州网站设计
  • 专业网站建设团队软文发布平台排名
  • 柳市外贸网站建设宁波seo推广哪家好
  • 教学网站系统流程图so导航 抖音