2017-05-31 205 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。