2011-08-25 49 views
0

我正在爲一個網絡非常緊密的學校(意思是我爲其構建的人必須要求他們的IT服務完成所有任務)構建Windows窗體應用程序。System.Net.Mail服務器響應是5.7.1

此應用程序發送電子郵件,我正在使用System.Net.Mail庫來這樣做。

 SMTPServer = new SmtpClient("SMTPAddress"); 

     MailMessage mailObj = new MailMessage("[email protected]", emailAddressTo); 

     mailObj.IsBodyHtml = true; 
     mailObj.Subject = "Subject"; 
     mailObj.Body = "<h2>Test E-Mail Message from the TSENS</h2>"; 

     SMTPServer.Credentials = new System.Net.NetworkCredential(SMTPUserName, SMTPPassword); 
     SMTPServer.DeliveryMethod = SmtpDeliveryMethod.Network; //This is new code 

     SMTPServer.Send(mailObj); 

我想知道如果這條線:

Error 5.7.1

有沒有別的東西,我:嘗試發送了一封郵件時SMTPServer.DeliveryMethod = SmtpDeliveryMethod.Network;將解決他得到了最新的錯誤信息失蹤?

以防萬一您想知道SMTPUserName和Password是他用來發送和接收郵件的電子郵件用戶名和密碼。

回答

3

我認爲SMTPUsername他的mailadress不是「[email protected]」,它用作郵件消息的發件人。

郵件服務器似乎驗證是否允許進行發送的人代表[email protected]發送郵件,但顯然並非如此。

根據SMTP規範,錯誤5.7.1代表「無法中繼」,這是您嘗試執行的操作。

+0

所以我應該將[email protected]更改爲他的電子郵件地址? – webdad3

+0

是的---(需要額外的文本才能添加一個提交:)) – Eddy

+0

好的 - 我打算給這個(我做了改變)。現在他只需要安裝並運行它。你的回答是有道理的。希望它會起作用。只要我收到成功的電子郵件發送,我就會將其標記爲已回答。謝謝! – webdad3

2
 emailClient = new SmtpClient(yourEMAILSERVER); 
     emailClient.Send(yourMailMessageObject); // in your case "mailObj" that you have defined already 

我會避免使用SMTPServer類或設置其Credentials或DeliveryMethod屬性。

+0

我更新了我的問題,以反映我在OP中缺少的項目 – webdad3

+0

明白了。我想它應該工作,如果在MailMessage對象中的FROM用戶名被設置爲現有的。 – Arun

相關問題