SmtpClient funktioniert nicht auf Windows Server 2012 R2
Hallo,
ich habe ein VB.Net konsolenanwendung die via einen gmail-account eine Mail verschickt.
Auf meiner Entwicklungsumgebung ( Windows 10 ) funktioniert das einwandfrei. Installiere ich die Software auf einem Windows Server 2012 R2 sieht alles normal aus, keine Fehlermeldung, kein Eintrag im Eventlog aber das Mail wird nicht versandt.
Ich habe zum Test mal die Firewall ausgeschaltet, hat aber nichts gebracht. Hat jemand eine Ahnung was das sein kann?
Der Code sieht so aus:
Imports System.IO
Imports System.Net.Mail
Imports System.Net
Sub Main()
Try
Dim loMessage As MailMessage = Nothing
Dim loClient As SmtpClient = Nothing
loClient = New SmtpClient()
loClient.Timeout = 50000
loClient.Host = "smtp.gmail.com"
loClient.Port = 587
loClient.EnableSsl = True
loClient.Credentials = New System.Net.NetworkCredential("test@gmail.com", "xxxxxxxxxx")
loMessage = New MailMessage()
loMessage.IsBodyHtml = True
loMessage.From = New MailAddress("xxxxxx@gmail.com")
loMessage.To.Add(New MailAddress("xxxxxx@bluewin.ch"))
loMessage.Subject = "Betreff"
loMessage.Body = "Test Ihre Daten..."
loClient.Send(loMessage)
Catch ex As Exception
'MsgBox(ex.ToString)
Dim file As System.IO.StreamWriter
file = My.Computer.FileSystem.OpenTextFileWriter("c:\tmp\err.txt", True)
file.WriteLine(ex.ToString)
file.Close()
End Try
End Sub
ich habe ein VB.Net konsolenanwendung die via einen gmail-account eine Mail verschickt.
Auf meiner Entwicklungsumgebung ( Windows 10 ) funktioniert das einwandfrei. Installiere ich die Software auf einem Windows Server 2012 R2 sieht alles normal aus, keine Fehlermeldung, kein Eintrag im Eventlog aber das Mail wird nicht versandt.
Ich habe zum Test mal die Firewall ausgeschaltet, hat aber nichts gebracht. Hat jemand eine Ahnung was das sein kann?
Der Code sieht so aus:
Imports System.IO
Imports System.Net.Mail
Imports System.Net
Sub Main()
Try
Dim loMessage As MailMessage = Nothing
Dim loClient As SmtpClient = Nothing
loClient = New SmtpClient()
loClient.Timeout = 50000
loClient.Host = "smtp.gmail.com"
loClient.Port = 587
loClient.EnableSsl = True
loClient.Credentials = New System.Net.NetworkCredential("test@gmail.com", "xxxxxxxxxx")
loMessage = New MailMessage()
loMessage.IsBodyHtml = True
loMessage.From = New MailAddress("xxxxxx@gmail.com")
loMessage.To.Add(New MailAddress("xxxxxx@bluewin.ch"))
loMessage.Subject = "Betreff"
loMessage.Body = "Test Ihre Daten..."
loClient.Send(loMessage)
Catch ex As Exception
'MsgBox(ex.ToString)
Dim file As System.IO.StreamWriter
file = My.Computer.FileSystem.OpenTextFileWriter("c:\tmp\err.txt", True)
file.WriteLine(ex.ToString)
file.Close()
End Try
End Sub
Please also mark the comments that contributed to the solution of the article
Content-Key: 304016
Url: https://administrator.de/contentid/304016
Printed on: May 2, 2024 at 23:05 o'clock
3 Comments
Latest comment
Hallo @drentsch,
ich glaub ich habe ein Déjà-vu.
Musste mich vor kurzem mit einem ähnlichen Problem herumärgern.
Bei mir war das Problem, dass dem Script der DNS-Name nicht geschmeckt hat.
Als ich smtp.gmail.com durch die jeweilige IP ersetzt habe, klappte der e-Mail Versand.
Ansonsten würde mir noch eine Hardware-Firewall (Gateway) einfallen, die Probleme machen könnte.
Gruß
@kontext
ich glaub ich habe ein Déjà-vu.
Musste mich vor kurzem mit einem ähnlichen Problem herumärgern.
Bei mir war das Problem, dass dem Script der DNS-Name nicht geschmeckt hat.
Als ich smtp.gmail.com durch die jeweilige IP ersetzt habe, klappte der e-Mail Versand.
Ansonsten würde mir noch eine Hardware-Firewall (Gateway) einfallen, die Probleme machen könnte.
Gruß
@kontext
Ich hab da auch ein Déjà-vu : Email versenden mit vb.net
Warum er dort nicht weiter macht und mit copy n' paste einen neuen Thread erstellt, erschließt sich mir nicht.
Warum er dort nicht weiter macht und mit copy n' paste einen neuen Thread erstellt, erschließt sich mir nicht.