作為一隻入行不久的小菜鳥,最近接觸到利用C#代碼發送郵件,做了一點小的demo練習。首先,需要配置,這邊我做的是QQ郵箱的相關的練習,練習之前,首先應該解決的問題肯定是關於伺服器的配置,這邊偷一個懶,不做一一的步驟截圖,此外文字表述能力也不及於很好的闡述清楚這個東西,附上百度經驗的鏈接吧 https ...
作為一隻入行不久的小菜鳥,最近接觸到利用C#代碼發送郵件,做了一點小的demo練習。首先,需要配置,這邊我做的是QQ郵箱的相關的練習,練習之前,首先應該解決的問題肯定是關於伺服器的配置,這邊偷一個懶,不做一一的步驟截圖,此外文字表述能力也不及於很好的闡述清楚這個東西,附上百度經驗的鏈接吧 https://jingyan.baidu.com/article/6079ad0eb14aaa28fe86db5a.html。 配置好了之後就開始代碼了
第一種方式:
點擊發送按鈕執行代碼:
/// <summary>
/// 發送
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
SendM send = new SendM();
string sendto = SendTo.Text; //目標郵箱
string zt = txtZt.Text; //郵箱主題
string nr = Nr.Text; //郵箱內容
bool a = CheckEmail.CheckTxtEmail(sendto); //檢查郵箱地址是否規範
if (a == true)
{
if( send.SendMessage(sendto, zt, nr)) //調用發送
{
MessageBox.Show("發送成功");
RefreshAll();
}
}
else
{
MessageBox.Show("郵箱地址錯誤");
RefreshAll();
}
}
上面代碼的SendMessage函數:
/// <summary>
/// 發送郵件
/// </summary>
/// <param name="mailto"></param>
/// <param name="mailSubject"></param>
/// <param name="mailContent"></param>
/// <returns></returns>
public bool SendMessage(string mailto,string mailSubject,string mailContent)
{
string stmpSever = "smtp.qq.com"; //伺服器
string mailfrom = "**********@qq.com"; //進行QQ郵箱相關配置 用於發送郵件的地址
string mailfromPwd = "**************"; //QQ郵箱開啟服務 獲取的對應授權碼
MailMessage message = new MailMessage();
message.Subject = mailSubject; //郵件的主題
message.Body = mailContent;//郵件的內容
message.BodyEncoding = Encoding.UTF8;
message.From =new MailAddress(mailfrom); //郵箱的地址
message.To.Add(mailto); //目標郵箱
message.Priority = MailPriority.Normal;
message.IsBodyHtml = true;
SmtpClient client = new SmtpClient();
client.Host = stmpSever;
client.UseDefaultCredentials = false;
client.Credentials= new NetworkCredential(mailfrom, mailfromPwd);
client.DeliveryMethod = SmtpDeliveryMethod.Network;
try
{
client.Send(message);
return true;
}
catch
{
return false;
}
以此實現第一種方式的發送郵件方式,
第二種:利用 System.Web.Helpers 下麵的WebMail 類實現發送郵件的方式。
附上代碼:
WebMail.SmtpServer = "smtp.qq.com";
WebMail.SmtpPort = 25;
WebMail.EnableSsl = false;
WebMail.UserName = "*************@qq.com"; //進行QQ郵箱相關配置 用於發送郵件的地址
WebMail.Password = "**************";
WebMail.From = "********@qq.com"; // 用於發送郵件的地址 一般情況下與 username 相同
WebMail.Send(目標郵箱, 郵件主題, 郵件內容);
即可發送,附上微軟的官方文檔 https://docs.microsoft.com/en-us/previous-versions/aspnet/gg547987(v%3Dvs.111) 以及w3c參考手冊 http://home.ustc.edu.cn/~xie1993/aspnet/webpages-ref-webmail.html
以上為自己的demo,作為剛入行的菜鳥,以此記錄一下自己的小收穫,不足之處敬請各位諒解和指正,感謝