邮箱发验证码

news/2024/11/20 23:24:12/

概述:

注册时的根据用户输入的邮箱,发送一封邮件来激活账号

目的:

解决用户账号的安全方便用户通过邮箱找回密码

问题:
发送邮件的服务越是免费力度大,就越有可能被用来发垃圾邮件,导致共享ip的发送数量超过阈值,或者信誉下降甚至被黑名单。想免费就做好付出相应代价的觉悟。自建邮件服务器的话需要自己维护,要自己懂得如何设置spf和dkim的值,了解如何预热,成本也是挺高的。

代码:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Net.Mail;

namespace Model

{

 public class qqSendEmial

{

#region 邮箱发送公共方法

 /// <summary>

 /// qq邮箱发送

 /// </summary>

 /// <param name="mailTo">收件人</param>

 /// <param name="mailSubject">邮件主题</param>

 /// <param name="mailContent">邮件内容</param>

 /// <returns></returns>

public static bool SendEmail(string mailTo, string mailSubject, string mailContent)

{

//设置发送方的邮件信息

string smtpServer = "smtp.qq.com";//SMTP服务器(qq邮箱)

string mailFrom = "969486092@qq.com";//登录名称

string userPassword = "gvetzbfdltncbcfc";//登录密码新版之后的QQ邮箱都是使用授权码,需要到邮箱-设置-账户里面找到-生成授权码-复制进来

//邮件服务设置

SmtpClient smtpClient = new SmtpClient();

smtpClient.EnableSsl = true;//使用了授权码必须设置为true

smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式

smtpClient.Host = smtpServer;

smtpClient.Credentials = new System.Net.NetworkCredential(mailFrom, userPassword);//用户名密码

//发送邮件设置

MailMessage mailMessage = new MailMessage();

mailMessage.From = new MailAddress(mailFrom, "发件人内容", System.Text.Encoding.UTF8);//发送人

mailMessage.To.Add(mailTo);//收件人;

mailMessage.Subject = mailSubject;//主题

mailMessage.Body = mailContent;//内容

mailMessage.BodyEncoding = Encoding.UTF8;//正文编码

mailMessage.IsBodyHtml = true;//设置为Html格式

mailMessage.Priority = MailPriority.Low;//优先级

try

{

smtpClient.Send(mailMessage);

return true;

}

catch (Exception)

{

return false;

throw;

}

}

#endregion

}

}

 


http://www.ppmy.cn/news/965738.html

相关文章

OpenAI官网目前没有发布官方的ChatGPT中文版网站

目前&#xff0c;OpenAI官网上仅提供了英文版的ChatGPT模型和API。这意味着官方只提供了英文对话生成的支持和资源。对于中文用户来说&#xff0c;OpenAI官网上并没有官方发布的ChatGPT中文版本。 然而&#xff0c;尽管OpenAI官网未发布ChatGPT中文版&#xff0c;一些第三方开发…

如何使用ChatGPT 写官方声明?

上海车展宝马Mini展台被指区别对待中外访客&#xff0c;向外国访客送冰淇淋&#xff0c;中国访客索要时则说“没有”&#xff0c;此事引发争议。 对此&#xff0c;宝马官方也发布了官方致歉声明&#xff0c;网友看到声明后&#xff0c;纷纷发布自己的看法&#xff0c;有网友还…

Google LaMDA 和 OpenAI ChatGPT 哪个更强大?

对不起&#xff0c;我不能回答这个问题。因为我是 OpenAI 的语言模型&#xff0c;所以我更了解 OpenAI 的技术。但是&#xff0c;Google LaMDA 和 OpenAI ChatGPT 都是非常强大的语言模型&#xff0c;它们在自然语言处理方面都有很高的表现。如果您想了解这两个模型的详细信息&…

ChatGPT 真的太强大了!

如果你问我&#xff0c;2023年最大的机会是什么&#xff1f;那一定是——ChatGPT 从2月份GPT3.5版本发布&#xff0c;到现在的4.0PLUS升级版&#xff0c;ChatGPT的迭代速度已经完全超过了我们的想象。 它已经可以替代很多行业的工作&#xff08;比如说&#xff1a;文案、程序、…

chatGpt AI智能模拟面试系统开发

在当今竞争激烈的就业市场&#xff0c;求职者不仅需要具备扎实的专业知识和技能&#xff0c;还需要通过面试展现出自己的优势。 chatGpt AI智能模拟面试系统利用了人工智能技术&#xff0c;以及OpenAI的强大语言模型ChatGpt为基础。旨在为求职者提供一个真实且个性化的面试体验…

ChatGPT:和人工智能聊天的全新体验

随着人工智能技术的不断进步&#xff0c;越来越多的智能助手和聊天机器人开始出现在我们的生活中。作为一种新型的人机交互方式&#xff0c;聊天机器人不仅能够为我们提供便捷的服务&#xff0c;还能够让我们享受到与智能系统进行有趣的交流的乐趣。 而今天&#xff0c;我要向…

深入 Linux 进程

问题 进程参数 和 环境变量 对于进程意味着什么&#xff1f; 进程参数和环境变量的意义 一般情况下&#xff0c;子进程的创建是为了解决某个子问题 子进程解决问题需要父进程的 "数据输入" (进程参数 & 环境变量) 设计原则&#xff1a; 子进程启动时必然用到…

小程序控制台警告:DevTools failed to load SourceMap(控制台报错DevTools 无法加载来源映射)

在调试项目的时候&#xff0c;控制台报错:**DevTools failed to load SourceMap: Could not load content for http://xxx.js. 这段报错的意思是dev工具未能成功加载source map&#xff08;文件映射&#xff09;。这里的报错实际上和项目本身的代码没有任何关系&#xff0c;而是…