將驗證碼自動發到郵箱
#region//生驗證碼隨即數字字母組合
private string RndNum(int VcodeNum)
{
string Vchar = "a,b,c,d,e,0,1,2,3,4,5,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,0,1,2,3,4,5,6,7,8,9,w,x,y,z,a,b,c,d,e,f,g,h,i,j,k,l,m,1,2,3,4,5,6,7,8,9,n,o,p,q,r,s,t,u,v,w,x,y,z";
string[] VcArray = Vchar.Split(new Char[] { ',' });//將上面的字符串切分成單個字符數組形式的
string VNum = "";
int temp = -1;
Random rand = new Random();//隨機數
for (int i = 1; i < VcodeNum + 1; i++)
{
if (temp != -1)
{
rand = new Random(i * temp * unchecked((int)DateTime.Now.Ticks));
}
int t = rand.Next(35);
if (temp != -1 && temp == t)
{
return RndNum(VcodeNum);
}
temp = t;
VNum += VcArray[t];
}
return VNum;
}
#endregion
產生驗證碼代碼
SmtpClient client = new SmtpClient();
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.EnableSsl = false;
client.Host = "smtp.163.com"; //可以配置成其他郵件服務器
client.Port = 25;
client.Credentials = new NetworkCredential("[email protected]", "di1xiaozu!@#");
MailMessage mm = new MailMessage();
mm.Priority = MailPriority.High;
mm.From = new MailAddress("[email protected]");
mm.Sender = new MailAddress("[email protected]");
mm.To.Add(new MailAddress("[email protected]"));
StringBuilder sb = new StringBuilder();
string tmp = RndNum(5).ToUpper();
sb.AppendLine(tmp);
this.Session["ImageV"] = tmp;
sb.AppendLine(DateTime.Now.ToShortDateString());
sb.AppendLine("請輸入發送的驗證碼);
mm.Body = sb.ToString();
mm.IsBodyHtml = true;
// client.DeliveryMethod = SmtpDeliveryMethod.Network;
try
{
client.Send(mm);
}
catch (Exception ex)
{
throw ex;
}
if (TextBox1.Text == "admin" && TextBox2.Text == "123" && TextBox3.Text == "[email protected]")
{
Response.Write("登錄成功);
Response.Redirect("blog_yanzhengma.aspx");
}
將隨即產生的驗證碼通過特定的郵箱發到管理員的郵箱,進行異地登陸驗證
自動發送郵件需要加入命名空間
using System.Net.Mail;