【C#】WPF注册使用SMTP邮箱发送验证码

当我们写一个程序的时候难免会有登录注册的功能,注册的时候如果直接注册就不太好,我们可以用邮箱发送验证码注册账号,也不是很难的,方法如下

        private string mailCode;
#region 发送注册账号验证码
/// <summary>
/// 发送SMTP邮件
/// </summary>
/// <pram name="recipient">邮箱接收者,即注册的人</pram>
public string SendMassage(string recipient)
{
//创建一个随机数种子
Random rdm = new Random();
//初始化邮箱验证码为空字符串
mailCode = "";
//这里和验证码那里一样,就不在写注释了
string code = "1234567890loLOqwertyuipasdfghjkzxcvbnmQWERTYUIPASDFGHJKZXCVBNM";
for (int i = 0; i < 6; i++)
{
mailCode += code[rdm.Next(0, code.Length)].ToString();
}
//实例化一个MailMessage对象用来设置邮件的信息
MailMessage msg = new MailMessage();
msg.To.Add(recipient);//收件人--客户
msg.From = new MailAddress("614966102@qq.com", "姚姚的小站");//发件人
msg.Subject = "注册信息";//标题
msg.SubjectEncoding = Encoding.UTF8;//标题编码
//正文
msg.Body = "这封信是由 -【姚姚的小站】-官方发送的。\r\n\r\n您的验证码为:" + mailCode + "\r\n\r\n您收到这封" +
"邮件,是由于在-【姚姚的小站】-官网 获取了新用户注册地址使用了这个邮箱地址。如果您并没有访问过-【姚姚的小站】-" +
"官网,或没有进行上述操作,请忽略这封邮件。您不需要退订或进行其他进一步的操作。";
msg.BodyEncoding = Encoding.UTF8;//正文编码
SmtpClient client = new SmtpClient();//实例化一个邮箱客户端
client.Host = "smtp.qq.com";//设置邮箱主机 这个是qq的,网易126为 smtp.126.com,自行看相关文档
client.Port = 587;//端口号,不能修改
client.EnableSsl = true;//是否ssl加密,不能修改
client.Credentials = new NetworkCredential("邮箱凭证", "授权码");//凭证,这里的密码你去登录你邮箱的后台找到里面的客户端登录的密码,一般它和帐户密码不一样
try//捕获异常
{
client.Send(msg);
return "成功";//没抛异常,说明发送成功
}
catch (Exception e)
{
//如果抛异常就将其异常信息返回
return e.ToString();
}
}
#endregion

调用的时候,把文本框里面的客户的电子邮箱填进去就行了,例如
SendMassage(MailAddre.Text.Trim().ToString());

blank