c# を使用して、asp.net のアプリケーションから電子メールを送信しようとしています。私は多くのことを検索し、ほとんどの場合、asp.net で c# を使用して電子メールを送信する次のコードを見つけました。
MailMessage objEmail = new MailMessage();
objEmail.From = new MailAddress(txtFrom.Text);
objEmail.To.Add(txtTo.Text);
objEmail.CC.Add(txtCC.Text);
objEmail.Bcc.Add(txtBCC.Text);
objEmail.Subject = txtSubject.Text;
try
{
SmtpClient mail = new SmtpClient();
mail.EnableSsl = true;
mail.DeliveryMethod = SmtpDeliveryMethod.Network;
mail.Credentials = new NetworkCredential(txtFrom.Text, txtPassword.Text);
mail.Timeout = 20000;
mail.UseDefaultCredentials = false;
mail.Host = "smtp.gmail.com";
mail.Port = 587;
mail.Send(objEmail);
Response.Write("Your Email has been sent sucessfully - Thank You");
}
catch (Exception exc)
{
Response.Write("Send failure due to : <br />" + exc.ToString());
}
しかし、常に次のエラーが表示されます。
「System.Net.Mail.SmtpException: メールの送信に失敗しました。 ---> System.IO.IOException: トランスポート接続からデータを読み取れません: 既存の接続がリモート ホストによって強制的に閉じられました。 ---> System.Net .Sockets.SocketException: System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags) at System.Net.Sockets.NetworkStream.Read で、既存の接続がリモート ホストによって強制的に閉じられました。 (Byte[] buffer, Int32 offset, Int32 size) --- 内部例外スタック トレースの終わり --- System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) at System.Net .DelegatedStream.Read(Byte[] buffer, Int32 offset, Int32 count) at System.Net.BufferedReadStream.Read(Byte[] buffer, Int32 offset, Int32 count) at System.Net.Mail.SmtpReplyReaderFactory.System.Net.Mail.CheckCommand.Send(SmtpConnection conn, String& response) で System.Net.Mail.StartTlsCommand.Send( SmtpConnection conn) で System.Net.Mail.SmtpConnection.GetConnection(ServicePoint servicePoint) で System.Net.Mail.SmtpTransport.GetConnection(ServicePoint servicePoint) で System.Net.Mail.SmtpClient.GetConnection() で System.Net.Mail で。 SmtpClient.Send(MailMessage メッセージ)"System.Net.Mail.SmtpClient.Send(MailMessageメッセージ)でSystem.Net.Mail.SmtpClient.GetConnection()でSystem.Net.Mail.SmtpTransport.GetConnection(ServicePoint servicePoint)でGetConnection(ServicePoint servicePoint)」System.Net.Mail.SmtpClient.Send(MailMessageメッセージ)でSystem.Net.Mail.SmtpClient.GetConnection()でSystem.Net.Mail.SmtpTransport.GetConnection(ServicePoint servicePoint)でGetConnection(ServicePoint servicePoint)」