我已經寫了ASP.Net代碼發送郵件從domain1.com郵件帳戶,如[email protected]郵件。此代碼工作正常,否則郵件去。但是當在domain2.com上執行相同的代碼時,即使使用正確的userid-pwd,它也會提供以下錯誤:System.Net.Mail.SmtpFailedRecipientException:郵箱名稱不允許
System.Net.Mail.SmtpFailedRecipientException:不允許使用郵箱名稱。服務器的迴應是:對不起,該域不在我的允許rcpthosts列表(#5.7.1)在System.Net.Mail.SmtpClient.Send(MailMessage消息)
有什麼辦法解決這個問題嗎?
如果我們必須在允許的rcphosts列表中添加此域,那該怎麼做?
編寫的代碼是這樣的:
MailMessage message;
bool success;
message = new MailMessage(from, to);
Attachment file;
SmtpClient lclient;
lclient = new SmtpClient("mail.domain1.com", 587);
lclient.EnableSsl = false;
message.Body = body;
message.BodyEncoding = System.Text.Encoding.UTF8;
message.IsBodyHtml = true;
message.Subject = subject;
message.SubjectEncoding = System.Text.Encoding.UTF8;
lclient.SendCompleted += new
SendCompletedEventHandler(SendCompletedCallback);
lclient.UseDefaultCredentials = false;
lclient.Credentials = new NetworkCredential(userID, password);
try
{
lclient.Send(message);
success = true;
if (message != null)
message.Dispose();
success = true;
return (success);
}
catch (Exception ex)
{
//...
}
感謝
謝謝,大衛。可以改變這個配置嗎?或者也許我們只需要改變一下設計來適應這一點。 – 2012-04-24 08:24:54
@AnuradhaKulkarni:你也許能夠改變配置,但這確實超出了我可以提供幫助的範圍。這是服務器管理,完全取決於您使用的SMTP服務。如果您需要重新設計一點,您可以嘗試在允許使用電子郵件的主機上運行Web服務,並讓其他實例訪問該服務來發送郵件,而不是直接發送郵件。 – David 2012-04-24 12:37:07