원격/격리 된 컴퓨터에서 실행되는 Windows 양식 응용 프로그램을 만들고 관리자에게 전자 메일로 오류 알림을 보냅니다. 나는 이것을 달성하기 위해 System.Net.Mail
클래스를 사용하려고했지만 나는 이상한 문제로 실행 해요 :Windows 양식 응용 프로그램에서 전자 메일 보내기
System.IO.IOException: Unable to read data from the transport connection:
An existing connection was forcibly closed by the remote host.--->
System.Net.Sockets.SocketException: An existing connection was forcibly closed by
the remote host at 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)
2 내가 네트워크 스니핑 시도 :
1 내가 오류 메시지가 활동이 잘못되었는지 확인하십시오. 이 시점에서
i) The DNS lookup for my SMTP server's hostname works
ii) My application connects to the SMTP server and sends "EHLO MY-HOSTNAME"
iii) SMTP server responds back with it's usual
iv) My application sends "AUTH login abcdxyz" and receives an acknowledgement packet
SMTP 서버가 암호를 요구하지 않는 것 중 하나 보인다 또는 내 컴퓨터를 요청할 수있는 SMTP 서버 전에 SMTP 서버로의 연결을 차단 : 그래서 여기가는 방법 암호.
다른 SMTP 포트와 SMTP 호스트를 사용해 보았습니다. 또한 방화벽과 AV를 사용하지 못하게했지만 운이 없었습니다. PuTTY를 사용하여 SMTP 서버에 연결하고 내 응용 프로그램과 동일한 명령 시퀀스를 실행하는 동안 (패킷 스니퍼에서 가져옴) 모든 것이 정상적으로 작동하고 전자 메일을 보낼 수 있습니다.
Imports System.Net
Imports System.Net.Mail
Public Function SendMail() As Boolean
Dim smtpClient As New SmtpClient("smtp.myserver.com", 587) 'I tried using different hosts and ports
smtpClient.UseDefaultCredentials = False
smtpClient.Credentials = New NetworkCredential("[email protected]", "password")
smtpClient.EnableSsl = True 'Also tried setting this to false
Dim mm As New MailMessage
mm.From = New MailAddress("[email protected]")
mm.Subject = "Test Mail"
mm.IsBodyHtml = True
mm.Body = "<h1>This is a test email</h1>"
mm.To.Add("[email protected]")
Try
smtpClient.Send(mm)
MsgBox("SUCCESS!")
Catch ex As Exception
MsgBox(ex.InnerException.ToString)
End Try
mm.Dispose()
smtpClient.Dispose()
Return True
End Function
어떤 조언 :
여기에 내가 사용하고 코드인가?
우리는 코드를 볼 수 있을까요? –
내 게시물에 코드를 추가했습니다 ... – Zishan
이 코드를 사용하고 gmail 계정 자격 증명을 사용하는 경우 예를 들어 같은 오류가 발생합니까? Diogo 언급처럼 ... –