ASP.Net发送邮箱验证

关于.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("[email protected]", "**********");//邮箱,
            MailMessage message = new MailMessage(new MailAddress("[email protected]"), 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 = "失败";
            }
        }
    }
}

注:******为你自己的授权码。填写自己的即可

如果还有不懂的或者有问题的可以私信问我。

猜你喜欢

转载自blog.csdn.net/weixin_54629917/article/details/123693748
今日推荐