using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Mail;
using System.Text;
using System.Threading.Tasks;
namespace Dal
{
public class EmailHelper
{
/// <summary>
/// 发送验证码
/// </summary>
/// <param name="EmailUrl"></param>
/// <returns></returns>
public static int SendEmail(string EmailUrl)
{
MailMessage mailMessage = new MailMessage();
//发件人邮箱地址,方法重载不同,可以根据需求自行选择。
mailMessage.From = new MailAddress("XXXXXX@qq.com");
//收件人邮箱地址。
mailMessage.To.Add(new MailAddress(EmailUrl));
//邮件标题。
mailMessage.Subject = "这是你的验证码";
string verificationcode = createrandom(6);
//邮件内容。
mailMessage.Body = "你的验证码是" + verificationcode;
//实例化一个SmtpClient类。
SmtpClient client = new SmtpClient();
//在这里我使用的是qq邮箱,所以是smtp.qq.com,如果你使用的是126邮箱,那么就是smtp.126.com。
client.Host = "smtp.qq.com";
//使用安全加密连接。
client.EnableSsl = true;
//不和请求一块发送。
client.UseDefaultCredentials = false;
//验证发件人身份(发件人的邮箱,邮箱里的生成授权码);
client.Credentials = new NetworkCredential("XXXXXX@qq.com", "vpbvzpsacjbedjfe");
//发送
client.Send(mailMessage);
return 1;
}
/// <summary>
/// 生成随机数
/// </summary>
/// <param name="codelengh"></param>
/// <returns></returns>
private static string createrandom(int codelengh)
{
int rep = 0;
string str = string.Empty;
long num2 = DateTime.Now.Ticks + rep;
rep++;
Random random = new Random(((int)(((ulong)num2) & 0xffffffffL)) | ((int)(num2 >> rep)));
for (int i = 0; i < codelengh; i++)
{
char ch;
int num = random.Next();
if ((num % 2) == 0)
{
ch = (char)(0x30 + ((ushort)(num % 10)));
}
else
{
ch = (char)(0x41 + ((ushort)(num % 0x1a)));
}
str = str + ch.ToString();
}
return str;
}
}
}
.Net验证辅助类(QQ邮箱)
于 2020-01-11 20:02:22 首次发布