5

このコードを使用してメールを送信すると、「SMTPサーバーに安全な接続が必要であるか、クライアントが認証されていません。サーバーの応答は5.5.1認証が必要です。」というエラーが発生します。

そして私のコードは:

protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{

    MailMessage mail = new MailMessage();
    mail.To.Add("info@msslindia.com");
    mail.From = new MailAddress("info@msslindia.com");
    string body = "<table><tr><td>Company Name:</td><td>" + txt_cname.Text + "</td></tr><tr><td>Address With No.:</td><td>" + txt_addwithno.Text + "</td></tr><tr><td>Contact Person:</td><td>" + txt_conperson.Text + "</td></tr><tr><td>Email Id</td><td>" + txt_email.Text + "</td></tr><tr><td>Description</td><td>" + txt_description.Text + "</td></tr></table>";
    mail.Body = body;
    mail.IsBodyHtml = true;
    SmtpClient smtp = new SmtpClient();
    smtp.Host = "smtp.gmail.com";
    smtp.Port = 25;
    smtp.UseDefaultCredentials = true;
    smtp.Credentials = new System.Net.NetworkCredential("info@msslindia.com", "xyz");
    smtp.EnableSsl = true;
    smtp.Send(mail);


    txt_cname.Focus();
    txt_cname.Text = "";
    txt_addwithno.Text = "";
    txt_conperson.Text = "";
    txt_email.Text = "";
    txt_description.Text = "";

}
4

7 に答える 7

15

Google は、アプリケーションがあなたのアカウントにアクセスするのを妨げている可能性があります。
ここで、アプリケーションが資格情報を使用して Google アカウントにアクセスできるようにすることができます。

https://accounts.google.com/DisplayUnlockCaptcha

于 2012-09-27T12:53:38.747 に答える
4

接続の資格情報を定義するため、UseDefaultCredentialsを false に設定する必要があると思います。

この SmtpClient オブジェクトがサーバーから要求された場合に、現在ログオンしているユーザーの既定の資格情報を使用して認証する必要がある場合は、このプロパティをtrueに設定します。

[...]

UseDefaultCredentials プロパティがfalseに設定されている場合、Credentials プロパティで設定された値は、サーバーへの接続時に資格情報として使用されます。

于 2012-05-22T09:00:38.670 に答える
2

ポート 587 を試して (私にはうまくいきました)、UseDefaultCredentials を false に設定します。これを設定してメールを送ってみる

于 2012-05-22T09:05:00.267 に答える
1

間違ったポートを使用していると思います。

465を使用する必要があります

http://support.google.com/mail/bin/answer.py?hl=ja&answer=13287

乾杯

于 2012-05-22T09:02:03.893 に答える
0

System.Net.Mail は暗黙の SSL をサポートしていないため、ポートは実際には重要ではありません。つまり、「ポート」パラメーターは完全に無視されます。

于 2013-11-26T20:21:43.807 に答える
0

SQL Server 2012 データベース メールを使用してこれを設定しようとしていたところ、同じメッセージが表示されました。

アプリケーション固有のパスワードを使用した後でも、二重認証を使用するプライマリ g メール アカウントを使用して動作させることができませんでした。二重認証を持たないセカンダリアカウントを試してみたところ、すぐに機能しました。したがって、上記の解決策のいずれかを使用しても機能しない場合は、標準の認証 g-mail アカウントで試してください。

于 2014-03-30T03:06:22.520 に答える