C#接入SMTP郵件服務
阿新 • • 發佈:2022-03-24
我的個人部落格
引入SMTP服務包
//引入郵件服務包
using System.Net.Mail;
using System.Net;
這兩個引用用於C#接入郵件的SMTP服務
控制元件頁面
定時器
為了給使用者更好的體驗,我們使用定時器,給使用者看到具體剩餘時間
開始建立一個功能類
新建一個類
MailVeriCodeClass
,裡面定義好各類功能函式
首先引入必要的名稱空間
//傳送郵件需要引用的名稱空間
using System.Net.Mail;
using System.Net;
//正則驗證引用
using System.Text.RegularExpressions;
功能類程式碼
public class MailVeriCodeClass
{
#region 郵箱驗證碼功能
/// <summary>
/// 生成隨機驗證碼
/// </summary>
/// <param name="CodeLength">驗證碼長度</param>
public static string CreateRandomMailCode(int CodeLength)
{
int randNum;
char code;
string randomCode = String.Empty;//隨機驗證碼
//生成一定長度的隨機驗證碼
//Random random = new Random();//生成隨機數物件
for (int i = 0; i < CodeLength; i++)
{
//利用GUID生成6位隨機數
byte[] buffer = Guid.NewGuid().ToByteArray();//生成位元組陣列
int seed = BitConverter.ToInt32(buffer, 0);//利用BitConvert方法把位元組陣列轉換為整數
Random random = new Random(seed);//以生成的整數作為隨機種子
randNum = random.Next();
//randNum = random.Next();
if (randNum % 3 == 1)
{
code = (char)('A' + (char)(randNum % 26));//隨機大寫字母
}
else if (randNum % 3 == 2)
{
code = (char)('a' + (char)(randNum % 26));//隨機小寫字母
}
else
{
code = (char)('0' + (char)(randNum % 10));//隨機數字
}
randomCode += code.ToString();
}
return randomCode;
}
/// <summary>
/// 傳送郵件驗證碼
/// </summary>
/// <param name="MyEmailAddress">發件人郵箱地址</param>
/// <param name="RecEmailAddress">收件人郵箱地址</param>
/// <param name="Subject">郵件主題</param>
/// <param name="MailContent">郵件內容</param>
/// <param name="AuthorizationCode">郵箱授權碼</param>
/// <returns></returns>
public static bool SendMailMessage(string MyEmailAddress, string RecEmailAddress, string Subject, string Body, string AuthorizationCode)
{
MailMessage mail = new MailMessage();
mail.From = new MailAddress(MyEmailAddress);//發件人郵箱地址
mail.To.Add(new MailAddress(RecEmailAddress));//收件人郵箱地址
mail.Subject = Subject;//郵件標題
mail.Body = Body; //郵件內容
mail.Priority = MailPriority.High;//優先順序
SmtpClient client = new