是用微軟自帶的 System.Net.Mail 來發送郵件。
代碼如下。
??????? /// <summary>??????? /// 發送郵件??????? /// </summary>??????? /// <param name="strSmtpServer">郵件服務器地址</param>??????? /// <param name="UserName">發送人郵件用戶名只需前面部分 如 [email protected] 123 即為用戶名</param>??????? /// <param name="Password">郵件密碼</param>??????? /// <param name="strFrom">發送方郵件地址</param>??????? /// <param name="strto">接收方郵件地址</param>??????? /// <param name="strSubject">主題</param>??????? /// <param name="strBody">內容</param>??????? /// <param name="authentication">是否進行身份驗證</param>??????? /// <returns>bool</returns>??????? public static bool SendToMail(string strSmtpServer, string UserName, string Password, string strFrom, string strto, string strSubject, string strBody)??????? {??????????? try??????????? {??????????????? System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient(strSmtpServer);
??????????????? client.UseDefaultCredentials = true;//是否身份驗證??????????????? client.Credentials = new System.Net.NetworkCredential(UserName, Password);//身份驗證賬號密碼? 主要賬號無需后綴名如 [email protected]? 只需填寫123 即可。
??????????????? client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;??????????????? //client.EnableSsl = true;??????????????? System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(strFrom, strto, strSubject, strBody);??????????????? message.BodyEncoding = System.Text.Encoding.GetEncoding("gb2312");??????????????? message.SubjectEncoding = System.Text.Encoding.GetEncoding("gb2312");??????????????? message.IsBodyHtml = true;??????????????? message.Priority = System.Net.Mail.MailPriority.High;??????????????? client.Send(message);??????????????? return true;
??????????? }??????????? catch (Exception ex)??????????? {??????????????? ErrorLog.WriteError(ex.Message.ToString());??????????????? return false;??????????? }??????? }
如果將?//client.EnableSsl = true; Ssl 加密注釋掉就可以發送成功。如果啟用了這段斷面 就發送不了。高手幫忙。
System.Net.Mail EnableSsl 郵件發送問題
慕田峪7331174
2018-12-06 13:33:50