发送邮件

发送邮件:简单的写一个小程序,向邮箱发送邮件,这里以发送验证码,并输入邮箱中接收到的验证码,验证是否正确为例

1.创建一个页面,先放一个文本框,用来输入收件人的账号,下面加一个发送按钮,按钮中写发送邮件的事件,然后再放一个文本框,用来输入接收到的验证码,下面加一个验证按钮,在后台比对输入的验证码是否和发送的验证码相符,发送验证码时可用session记录一下发送的验证码,用作验证按钮事件中验证码比对,加一个label,用来显示输入验证码是否正确

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default1.aspx.cs" Inherits="Default1" %>

<!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">
    <div>
       请输入您的邮箱:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
        <asp:Button ID="Button1" runat="server" Text="发送验证码" /><br /><br />
        请输入验证码:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br />
        <asp:Button ID="Button2" runat="server" Text="验证" />
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    </div>
    </form>
</body>
</html>

2.在后台代码中给发送按钮和验证按钮写事件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net;
using System.Net.Mail;

public partial class Default1 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Button1.Click += Button1_Click;//发送按钮的点击事件
        Button2.Click += Button2_Click;//验证按钮的点击事件
    }


    //验证按钮的点击事件
    void Button2_Click(object sender, EventArgs e)
    {
        //判断验证码输入框中输入的文本(去空格)是否和发送的验证码相符,相符Label显示ok,不相符Label显示Error
        if (TextBox2.Text.Trim() == Session["YZM"].ToString())
        {
            Label1.Text = "OK";
        }
        else
        {
            Label1.Text = "Error";
        }
    }


    //发送按钮的点击事件
    void Button1_Click(object sender, EventArgs e)
    {
        //创建SMTP调用服务类; 
        //使用QQ邮箱时只需要在邮箱页面设置中找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务下的SSL连接点击进去
        //找到发送邮件服务器:smtp.qq.com
        SmtpClient smtp = new SmtpClient("smtp.sina.cn");

        //创建发送人对象
        MailAddress aaa = new MailAddress("18560812711@sina.cn");
        //创建接收人对象
        MailAddress to = new MailAddress(TextBox1.Text);
        //创建邮件对象
        MailMessage mail = new MailMessage(aaa,to);
        //填充邮件主题
        mail.Subject="来自于起航科技用户注册的验证码邮件";
        //填充邮件内容
        mail.Body="您的验证码为[1234],请在20分钟内填写,此邮件为系统邮件,勿回复!";
        Session["YZM"] = "1234";//用session记录一下发送的验证码,作为验证时和输入的验证码比对
        //注册证书,验证发送人邮箱和密码
        NetworkCredential net = new NetworkCredential("18560812711@sina.cn", "hq1234561");
        //将证书关联到服务器对象等待验证
        smtp.Credentials = net;

        //调用发送方法
        smtp.Send(mail);
    }
}
原文地址:https://www.cnblogs.com/zyg316/p/5789325.html