Announcement

Collapse
No announcement yet.

.NET sendet unaufhörlich Mails

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • .NET sendet unaufhörlich Mails

    Hallo zusammen,

    ich habe für die Versendung von Fehler-Mails in einer Web-Anwendung eine Klasse dafür geschrieben. Ich benutze dort nun das Objekt

    System.Net.Mail.MailMessage

    Bisher verwendete ich immer

    System.Web.Mail.MailMessage

    das wird von VS2005 aber als veraltet bezeichnet. Und man lernt ja gerne den Umgang mit neuen Dingen

    Hier der Code, den ich verwende um eine HTML-Mail zu versenden:

    Code:
    ..
    Imports System.Net.Mail
    ..
    
    Public Sub SendMail(ByVal FehlerKlasse As String, ByVal FehlerMethode As String, ByVal FehlerText As String)
    
    	Dim MailObj As MailMessage
    	Dim SubjectText As String
    	Dim MessageText As String
    	Dim FehlerDatum As Date
    
    	Try
    
    		MailObj = New MailMessage
    		MailObj.From = New MailAddress("[email protected]")
    		MailObj.To.Add("[email protected]")
    		SubjectText = "Bei der Anmeldung ist ein Fehler in " _
    		 & FehlerKlasse _
    		 & " in der Methode " _
    		 & FehlerMethode _
    		 & " aufgetreten."
    
    		MailObj.Subject = SubjectText
    		MailObj.IsBodyHtml = True
    
    		FehlerDatum = New Date().Now
    
    		MessageText = "<html>" _
    			& ".." _
    			& "</html>"
    
    		MailObj.Body = MessageText
    
    		Dim MailClient As System.Net.Mail.SmtpClient
    		MailClient = New System.Net.Mail.SmtpClient
    		MailClient.Host = "smtprelay.t-online.de"
    		MailClient.Send(MailObj)
    
    	Catch ex As Exception
    
    	End Try
    
    End Sub
    Funktioniert alles wunderbar, nur kommt nun ständig - im Abstand weniger Minuten - dieselbe e-Mail in meinem Mail-Postfach an. Gibt's etwas, was ich zusätzlich machen muss, um evtl. zu signalisieren, dass die e-Mail nicht in einer "Endlosschleife (?!)" versendet werden soll?

    Habe mir MailMessage und SmtpClient angesehen, finde aber nichts entsprechendes - mal abgesehen vielleicht von SmtpClient.DeliveryMethod (?) vielleicht?

    Vielen Dank für Hinweise.

  • #2
    Schpn mal einen Zähler in die Methode einbaut und geschaut wir oft diese aufgerufen wird? Ev. liegt es nicht an Send, sondern am wiederholten Aufruf von SendMail

    EDIT

    Der Host könnte auch
    mailto.t-online.de
    smtpmail.t-online.de
    sein
    Christian

    Comment


    • #3
      Hallo zusammen,

      Entwarnung. Das Problem lag offensichtlich nicht am Programm-Code, sondern an einer Kommunikations-Störung zwischen Mail-Server und Mail-Client. Letzterer hat die Mail scheinbar nicht als "abgeholt" geflagt, weshalb sie bei jeder Verbindung nach einem bestimmten Intervall wieder abgeholt wurde. Nachdem ich sie auf dem Server gelöscht habe, gibt auch der Client wieder Ruhe.

      Sorry für die kleine "Aufruhr"

      Comment


      • #4
        Hallo,

        dennoch ein Hinweis zum Code - da ist ein "Schönheitsfehler" drin.

        MailMessage implementiert IDisposable und daher sollte MailMessage in eine using gepackt werden, damit die verwendeten Ressourcen wieder freigegeben werden.

        Als weiterführender Hinweis sei auf Tracing hingewiesen. Hier kann zB mit einem Email-Tracelistener (manche haben das dabei, andere sind leicht zu erstellen) und Trace.Error das anders gelöst werden.


        mfG Gü
        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

        Comment

        Working...
        X