你好,我有一個託管的Windows Server 2008 R2企業版和一個購買的域名。我已經將我的域中的所有內容都指向了服務器的dns,並將我的ASP.Net站點上載到IIS。我還設置了SMTP功能,所以現在我試圖從SMTP發送電子郵件,但是我不能,因爲應用程序說用戶沒有通過身份驗證。 這裏是我的網頁的源代碼:如何從我的SMTP服務器發送電子郵件?
MailMessage activationMail = new MailMessage();
activationMail.From = new MailAddress("[email protected]", "MyGame");
activationMail.To.Add(RegistrationEmail.Text);
StreamReader sRead = new StreamReader(Server.MapPath("~/Mails/ActivationMail.html"));
string readFile = sRead.ReadToEnd();
string Strcontent = "";
Strcontent = readFile;
Strcontent = Strcontent.Replace("[Name]", RegistrationRealName.Text);
Strcontent = Strcontent.Replace("[Username]", RegistrationUsername.Text);
Strcontent = Strcontent.Replace("[Password]", RegistrationPasswordCreate.Text);
Strcontent = Strcontent.Replace("[useractivation]", useractivation);
Strcontent = Strcontent.Replace("[Site]", site);
Strcontent = Strcontent.Replace("[Facebook]", "facebook");
activationMail.Subject = "My Game - Registration";
activationMail.Body = Strcontent.ToString();
sRead.Close();
activationMail.IsBodyHtml = true;
activationMail.BodyEncoding = UTF8Encoding.UTF8;
SmtpClient client = new SmtpClient();
client.Host = "mydomain";
NetworkCredential cr = new NetworkCredential();
cr.UserName = "User from AD DS";
cr.Password = "Password of User";
client.UseDefaultCredentials = false;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.Port = 25;
client.Timeout = 10000;
client.Send(activationMail);
注:我的域名不符合我林的域相同。我也試圖設置我的森林的域作爲客戶端。主機但同樣的結果。我有我的web.config這些設置
<mailSettings>
<smtp from="[email protected]">
<network defaultCredentials="false" host="localhost" />
</smtp>
</mailSettings>
我的SMTP服務器的設置是這些:
- IP地址=我的服務器的IP
- 認證= STANDAR & Windows身份驗證檢查,TSL檢查,默認域設置爲我的域(不是我的MX記錄mail.domain)。匿名身份驗證不被檢查。
- 連接=只有我的服務器的IP訪問
- 繼電器=只有我購買的域名(不MX記錄)訪問
- 出站安全= STANDAR認證(用戶可在AD DS - 與那些在我的CS文件相同的憑證以上),TLS啓用
- 高級交付選項=設置我的域名有(沒有MX記錄 - 給我一個錯誤)
有誰知道我在做什麼錯?
感謝注意到我有多愚蠢......但我仍然得到同樣的錯誤......我還有什麼可能做錯了嗎? – Dev
一切看起來不錯。你確定憑證是正確的嗎? –
好吧,我添加了指定的用戶到AD DS用戶和組,我嘗試用戶名爲HOST \用戶和用戶在我的cs文件中使用正確的密碼。我有點新到Windows Server很多次,我幾乎不知道我在做什麼,例如我在web.config中將defaultcredentials更改爲false,並且我在IIS中的SMTP設置更改爲無身份驗證,但在SMTP服務器中設置我已設置身份驗證要求...我沒有嘗試[email protected]用戶名壽,導致我購買的域名與森林的域名不一樣... – Dev