2017-05-31 17 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を追加することでした。

関連する問題