关于.net如何实现发送邮箱并获取验证码,具体操作如下:
首先是一个简单的前端界面:(本次测试只需用到一个文本框,两个按钮即可)
(一)写代码前一定要先去QQ邮箱进行一个小操作
1.首先进入QQ邮箱后找到设置
2.找到账户
3.开启这个服务
OK,邮箱设置完成后接下来就可以写代码了,很简单。
写代码之前先了解一下这些属性
SmtpServer: 发送电邮所使用的 SMTP 服务器的名称。
SmtpPort: 发送 SMTP transactions (电邮) 所用的服务器端口。
EnableSsl: True,如果服务器应该使用 SSL (Secure Socket Layer) 加密。
UserName: 发送电邮所用的 SMTP email 账户的名称。
Password: SMTP 电邮账户的密码。
From: 出现在 from 栏中的电邮地址(通常与 UserName 相同)
先搭建一个简单的前端界面
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Emai01.aspx.cs" Inherits="CCTV.Emai01" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="CodeBtn" runat="server" Text="发送验证码" OnClick="CodeBtn_Click" />
<asp:Button ID="Button2" runat="server" Text="确定" OnClick="Button2_Click" Width="50px" />
</form>
</body>
</html>
布局好了前端后再进入到后端
首先先引入这两个命名空间---
具体后端代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net.Mail;
using System.Net;
namespace CCTV
{
public partial class Emai01 : System.Web.UI.Page
{
//首先先定义一个全局变量
public static string str;//公开随机数Str
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
}
}
protected void CodeBtn_Click(object sender, EventArgs e)
{
//随机验证码
Random rm = new Random();
int i;
str = string.Empty;
for (int p = 0; p < 6; p++)
{
i = Convert.ToInt32(rm.NextDouble() * 10);
str += i;
}
string tex1 = TextBox1.Text;
string content = "TideShoe提醒您:您正在使用邮箱安全验证服务,您本次操作修改密码的验证码是:" + str;
SendEmail1($"{tex1}", "TideShoe后台登录修改用户信息提示", content);//收件人邮箱,邮箱标题,邮箱内容
}
#region
public static void SendEmail1(string mailTo, string mailSubject, string mailContent)
{
//("邮箱服务器类型", 端口号);
SmtpClient mailClient = new SmtpClient("smtp.qq.com");
mailClient.EnableSsl = true;
mailClient.UseDefaultCredentials = false;
//Credentials登陆SMTP服务器的身份验证.
mailClient.Credentials = new NetworkCredential("1513095130@qq.com", "**********");//邮箱,
MailMessage message = new MailMessage(new MailAddress("1513095130@qq.com"), new MailAddress(mailTo));//发件人,收件人
message.IsBodyHtml = true;
message.Body = mailContent;//邮件内容
message.Subject = mailSubject;
mailClient.Send(message); // 发送邮件
}
#endregion
protected void Button2_Click(object sender, EventArgs e)
{
if(TextBox1.Text == str)
{
Button1.Text = "成功";
}
else
{
Button1.Text = "失败";
}
}
}
}
注:******为你自己的授权码。填写自己的即可
如果还有不懂的或者有问题的可以私信问我。