[英]socket, smtp and web exceptions
從應用程序發送電子郵件時出現錯誤。 我向托管公司查詢並獲得正確的郵件服務器設置,但仍然收到錯誤消息。 有什么建議么? 在下面堆棧跟蹤和代碼。
[SocketException (0x274d): No connection could be made because the target machine actively refused it 68.178.232.62:25]
System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) +251
System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception) +279
[WebException: Unable to connect to the remote server]
System.Net.ServicePoint.GetConnection(PooledStream PooledStream, Object owner, Boolean async, IPAddress& address, Socket& abortSocket, Socket& abortSocket6, Int32 timeout) +6136880
System.Net.PooledStream.Activate(Object owningObject, Boolean async, Int32 timeout, GeneralAsyncDelegate asyncCallback) +314
System.Net.PooledStream.Activate(Object owningObject, GeneralAsyncDelegate asyncCallback) +21
System.Net.ConnectionPool.GetConnection(Object owningObject, GeneralAsyncDelegate asyncCallback, Int32 creationTimeout) +322
System.Net.Mail.SmtpConnection.GetConnection(ServicePoint servicePoint) +146
System.Net.Mail.SmtpTransport.GetConnection(ServicePoint servicePoint) +222
System.Net.Mail.SmtpClient.GetConnection() +50
System.Net.Mail.SmtpClient.Send(MailMessage message) +1496
[SmtpException: Failure sending mail.]
System.Net.Mail.SmtpClient.Send(MailMessage message) +1829
Lostpass.EmailUser(User user) +713
Lostpass.uxUserInfoSubmit_Click(Object sender, EventArgs e) +446
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +118
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +112
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5563
<mailSettings>
<smtp deliveryMethod="Network" from="support@<domain>.com">
<network host="relay-hosting.secureserver.net" port="25" defaultCredentials="true"/>
</smtp>
</mailSettings>
void EmailUser(User user)
{
user.ChangePasswordID = Guid.NewGuid();
user.Save();
MailMessage email = new MailMessage();
email.To.Add(new MailAddress(uxEmail.Text));
email.IsBodyHtml = true;
email.From = new MailAddress(Settings.LostPasswordEmailFrom);
email.Subject = Settings.LostPasswordSubject;
//email.Subject = "your new password";
email.Body = EmailTemplateService.HtmlMessageBody(EmailTemplates.MembershipPasswordRecovery, new { Body = Settings.LostPasswordText, BeginRequired = "", EndRequired = "", UserName = user.Name, GUID = user.ChangePasswordID.ToString() });
//email.Body = "your new password is: password";
SmtpClient client = new SmtpClient();
//try
//{
client.Send(email);
//}
//catch
//{ Exception ex; }
uxSuccessPH.Visible = true;
uxQuestionPanel.Visible = false;
uxUserInfoPanel.Visible = false;
uxUserNameLabelSuccess.Text = uxEmail.Text;
}
您確定defaultCredentials
是正確的嗎? 我懷疑這將發送您的Windows登錄憑據,這可能不是您的ISP所需要的。 我認為您需要在SmtpClient
實例上設置Credentials屬性。 就像是:
// set your SMTP server login credentials
System.Net.NetworkCredential credentials =
new System.Net.NetworkCredential("username", "password");
client.Credentials = credentials;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.