1

C#mvcを使用して基本的な電子メールを送信しようとしています...何らかの理由で機能しません..さまざまな解決策を試しましたが、ブラウザで「操作がタイムアウトしました」という同じエラーが発生し続けます。接続の問題。エラーは"client.Send(mail);で始まります。ローカルマシンでこれを実行しています。ポート587,465,995,25を使用してみましたが、うまくいきませんでした。VisualStudioのコンパイラで、ビルド時にエラーが発生しません。I Webブラウザのオンライン"client.Send(mail);"でエラーが発生するだけです。

コントローラ:

  public void SendEmail(History hi)
  {
    SmtpClient client = new SmtpClient();   //server type
    client.Port = 587;                      
    client.Host = "smtp.gmail.com";         //google
    client.EnableSsl = true;                //SSl set to true
    client.Timeout = 10000;
    client.DeliveryMethod = SmtpDeliveryMethod.Network;
    client.UseDefaultCredentials = false;
    client.Credentials = new System.Net.NetworkCredential("papasmurf985@gmail.com", "******"); 

    MailMessage mail = new MailMessage("papasmurf985@gmail.com", "papasmurf985@gmail.com", "Test Score", "Your score is" + hi.score);
    mail.BodyEncoding = System.Text.Encoding.UTF8;
    mail.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;

    client.Send(mail);                      
  }

web.config:

<system.net>
  <mailSettings>
    <smtp deliveryMethod="Network">
      <network host="smtp.gmail.com" port="587" />
    </smtp>
  </mailSettings>
</system.net>

web.configでもこれを試しました:

<system.net>
   <mailSettings>
     <smtp from="no-reply@no-reply.com">
       <network host="smtp.gmail.com" port="587" enableSsl="true"
                userName="papasmurf985@gmail.com" password="PASSWORD" />
     </smtp>
   </mailSettings>
</system.net>
4

2 に答える 2

1

次のplsを試してください

public void SendMessage(string toAddress, string subjectText, string bodyText)
{
    //create a object to hold the message
    MailMessage newMessage = new MailMessage();

    //Create addresses
    MailAddress senderAddress = new MailAddress(your_gmail_address);
    MailAddress recipentAddress = new MailAddress(toAddress);

    //Now create the full message
    newMessage.To.Add(recipentAddress);
    newMessage.From = senderAddress;
    newMessage.Subject = subjectText;
    newMessage.Body = bodyText;

    //Create the SMTP Client object, which do the actual sending
    SmtpClient client = new SmtpClient(your_gmail_server_address, your_gmail_port)
    {
        Credentials = new NetworkCredential(your_gmail_address, your_password),
        EnableSsl = true
    };


    //now send the message
    client.Send(newMessage);
}

このコードは私のために働いています

于 2013-03-11T13:09:36.130 に答える
0

まず、ISPが外部SMTPサーバーをブロックしていないことを確認します

于 2013-03-11T07:51:07.330 に答える