話說網上發送郵件的代碼不少,可是我因爲不細心,致使拿別人的代碼發送郵件總是失敗,今天就說說幾個要注意的地方吧!!!服務器
public bool SendEmail() { MailMessage msg = new MailMessage(); msg.To.Add("to@qq.com");//收件人地址 msg.CC.Add("cc@qq.com");//抄送人地址 msg.From = new MailAddress("from@qq.com", "Edward");//發件人郵箱,名稱 msg.Subject = "This is a test email from QQ";//郵件標題 msg.SubjectEncoding = Encoding.UTF8;//標題格式爲UTF8 msg.Body = "this is body";//郵件內容 msg.BodyEncoding = Encoding.UTF8;//內容格式爲UTF8 SmtpClient client = new SmtpClient(); client.Host = "smtp.qq.com";//SMTP服務器地址 client.Port = 587;//SMTP端口,QQ郵箱填寫587 client.EnableSsl = true;//啓用SSL加密 //發件人郵箱帳號,受權碼(注意此處,是受權碼你須要到qq郵箱裏點設置開啓Smtp服務,而後會提示你第三方登陸時密碼處填寫受權碼) client.Credentials = new System.Net.NetworkCredential("from@qq.com", "password"); try { client.Send(msg);//發送郵件 } catch (Exception) { return false; } return true; }
網上相似這段代碼的代碼不少,可是大多數都說的是client.Credentials = new System.Net.NetworkCredential("from@qq.com", "password")這塊寫的是password,其實可能以前的前輩們用的時候QQ郵箱須要的是密碼,可是如今qq郵箱須要的則是受權碼,下面就說怎麼拿到這個受權碼吧!this
首先發送郵件要開啓一個smtp的服務(ps:我這菜鳥仍是不久前才知道的,不過好像outlook不是smtp,反正協議不少的)加密
第一步:打開qq郵箱點擊設置:spa
而後還有兩步你就成功了blog
第二步:點擊帳戶io
第三步:向下拉找到smtp字樣的地方,而後所有開啓class
相信你能理解這句話,而後你開啓的時候會自動彈出受權碼,若是沒有當時沒有複製粘貼能夠點擊生成受權碼 ,來從新生成:test
就是這個東東了,拿這個複製粘貼到你代碼的password處便可(ps:本菜鳥被坑的很慘啊,再說多一句163的郵箱也是這樣的,只有開啓smtp服務才能拿到受權碼)email