3

電子メールを送信するコードがあります.コードはこちら

これは私にとってはうまくいきません。これはリモート smtp サービスです ... メール Web アクセスが正常に機能することを再確認しました.. GUI を使用してログインし、メールを送受信できます。

しかし、コードを使用して実行しようとすると..メッセージで失敗します...

{System.Net.Mail.SmtpException: SMTP サーバーにはセキュリティで保護された接続が必要であるか、クライアントが認証されていません。サーバーの応答は次のとおりです。5.7.0 AUTH コマンドが指定されていません。

誰でもアドバイスできますか...そしてまた、彼らはEWSを公開していません。つまり、交換Webサービス./..これが進むべき道です..

ポートは 25 で、SSL または TLS はありません

Button b = sender as Button;
try
{
    MailMessage msg = new MailMessage(senderEmail, recieverEmail, "afdasfas", "safasfa");
    //MailMessage msg = new MailMessage(senderEmail, recieverEmail, subject, subject);
    System.Net.Mail.SmtpClient mailclient = new System.Net.Mail.SmtpClient(EmailSmtpServer, outgoingPort);
    System.Net.NetworkCredential auth = new System.Net.NetworkCredential(senderEmail, senderPassword);
    mailclient.Host = EmailSmtpServer;
    mailclient.UseDefaultCredentials = false;
    mailclient.Credentials = auth;
    mailclient.Send(msg);
    MessageBox.Show(b.Content + ":WORKED");
}
catch (Exception e4)
{
    MessageBox.Show(b.Content + ": " +e4.Message);
    MessageBox.Show(b.Content + ": " + e4.StackTrace);
}
4

3 に答える 3

5

設定したくないと思います

mailclient.UseDefaultCredentials = true;

このオプションの詳細については、こちらをご覧ください。


また、そのSMTPサーバーを介して実際に電子メールを送信できることをテストする必要があります。

telnet経由で接続して認証してみてください。オンラインでテストメッセージを送信できるサービスもたくさんあります(たとえば、http://pingability.com/smtptest.jsp )。

于 2010-04-28T17:35:26.127 に答える
1

System.Net.Mail.SmtpException: SMTP サーバーがセキュリティで保護された接続を必要とするか、クライアントが認証されませんでした。サーバーの応答は次のとおりです。5.7.0 AUTH コマンドが指定されていません。

最初にAUTHコマンドを送信せずにログインしようとしています。これが、独自のAUTHコマンドを自動挿入するWeb GUIが機能する理由ですが、現在のクライアントアプリケーションはサーバーに中継するコマンドを受信して​​いませんが、サーバーは認証を必要とします.

于 2012-04-24T08:17:26.413 に答える
0

多分あなたは追加する必要がありますmailclient.EnableSsl = true;

于 2010-04-28T17:36:17.480 に答える