2017-05-31 201 views
1

我正在創建我的mvc應用程序。我想發送電子郵件給註冊的用戶。我這樣做:通過mvc發送電子郵件

MailMessage mail = new MailMessage(); 
mail.To.Add(user1.email.Replace(" ", string.Empty)); 
mail.From = new MailAddress("[email protected]"); 
mail.Subject = "Class Declaration System user creation confirmation."; 
string body = "Dear " + user1.name + ",\n This is to confirm that you have succesfully registered in the system. \n Do not reply to this message. \n Regards"; 
mail.Body = body; 
mail.IsBodyHtml = true; 
var smtp = new SmtpClient(); 
smtp.EnableSsl = true; 
smtp.Host = "poczta.mini.pw.edu.pl"; 
smtp.Port = 25; 

一切都很好。我已聯繫服務器的管理員,我正在通過正確的端口發送所有內容。但是,我得到一個錯誤:

Command parameter not implemented. The server response was: 5.5.2 
> <WIN-KI3H68FIO4E>: Helo command rejected: need fully-qualified hostname 

管理員告訴我,這是因爲我想送它作爲WIN-KI3H68FIO4E,但它應該是something.mini.pw.edu.pl,因爲我們有這種限制在這裏。我如何在我的代碼中進行更改?

+0

正如你所做的一樣。您已經將主機設置爲「poczta.mini.pw.edu.pl」。你能否澄清你的問題? –

+0

那麼,管理員說日誌說這個消息是由提交的,這是一個服務器名稱(應用程序工作的地方),郵件服務器不接受。郵件服務器只有在提交者爲xxx.mini.pw.edu.pl時纔會接受它@ChrisPratt –

+0

這是郵件服務器配置問題。你無法在代碼中控制它。請求來自的主機基於網絡配置。它看起來像Web服務器和郵件服務器在同一個本地網絡上,這意味着它們將通過本地主機名來標識。您的郵件管理員需要允許來自該主機名的通信,否則您的Web服務器將不得不放在本地網絡之外,以便它將由其外部FQN識別。 –

回答

0

答案是編輯web.config文件並在那裏添加自定義的ClientDomain。