2

C# を使用してメールを送信しています:

protected void SendEmailToVisitor(string Name, string Email, string Contact, string Message, string Subject)
{
    string myEmail = ConfigurationManager.AppSettings["Email"];
    MailMessage objMail = new MailMessage();
    objMail.From = new MailAddress(myEmail);
    objMail.Subject = "Chanderraj.com";
    objMail.To.Add(Email);
    objMail.IsBodyHtml = true;

    StringBuilder emailMessage = new StringBuilder();
    emailMessage.Append("<h2>Hi, "+Name+",</h2> <br/>");
    emailMessage.Append("Thank you for writing us. <br/><br/><br/>");
    emailMessage.Append("Best wishes from http://www.chanderraj.com");
    objMail.Body = emailMessage.ToString();
    SmtpClient objSmtpClient = new SmtpClient();
    objSmtpClient.UseDefaultCredentials = false;
   // objSmtpClient.EnableSsl = true;
    objSmtpClient.Send(objMail);
    this.Reset();
    lblSent.Text = Name + ", your message sent.";
}

<system.net>
<mailSettings >
  <smtp>
    <network host="smtp.gmail.com" userName="chanderraj1989@gmail.com" enableSsl="true" password="xxxxxxxxxx" port="587" />
  </smtp>
</mailSettings> 

構成に enableSsl を追加すると、ページが読み込まれる前に構成エラーが表示されます:
認識されない属性 'enableSsl'.
これは、サーバー上の古いバージョンの .NET が原因である可能性があります。

したがって、構成から enablSsl を削除し、コードに入れると、次のように表示されます。

SMTP サーバーが安全な接続を必要とするか、クライアントが認証されませんでした。サーバーの応答は次のとおりです。5.5.1 認証が必要です。

4

2 に答える 2

0

はい、.NET 3 以前では、構成ファイルで enableSSL プロパティを使用できないのは事実です。あなたの問題のために、行を追加することができます、

SmtpClient objSmtpClient = new SmtpClient();
objSmtpClient.EnableSsl = true; // Add this line of code. Hope this works

また、構成ファイルに次の行を追加します。

 <smtp deliveryMethod="Network" from="test@gmail.com">

.NET 4 の場合: はい。config セクションに enableSSL タグを追加して使用できます。

于 2013-10-18T04:46:03.470 に答える
0

絶対的な解決策ではありませんが、うまくいきました。
ドメインchanderraj.comがあり、ドメインにはinfo@chanderraj.comのようなメールを作成するオプションがあります。だから私はそれを作成し、設定ファイルでGmailのIDとパスワードの代わりに指定しました(問題に示されています)。

于 2013-12-11T10:32:36.900 に答える