Nils Gerken: JMail Problem

Hi Geminde,

eben als ich meinen Newsletter verschicken wollte, hatte ich folgende Fehlermeldung:

jmail.SMTPMail-Fehler '8000ffff'

The message was undeliverable. All servers failed to receive the message

/admin/newssend.asp, Zeile 24

Das Cript seiht so (Die Zeile ist markiert):

<%
response.buffer = true
dim useraction,subject,comm,emails,JMail
useraction=request("action")
select case useraction
case "send"
Set Conn = Server.CreateObject("ADODB.Connection")
Set Rs = Server.CreateObject("ADODB.Recordset")
dsn="DBQ=" & Server.Mappath("../database/taggeckos.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
    Conn.Open dsn
    SQL = "SELECT emails from emails order by id"
rs.open sql,conn
do while not rs.eof
  emails=rs("emails")
  subject = request.form("subject")
  comm = request.form("comm")
  Set JMail = Server.CreateObject("JMail.SMTPMail")
  JMail.ServerAddress = "mail.janssen-s1.de:25"
  JMail.AddRecipient emails
  JMail.Sender = "taggeckos@taggeckos.de"
  JMail.Subject = subject
  JMail.Body = comm <<<_------- Hier Hier
  JMail.Execute
  rs.movenext
loop
set JMail = nothing
rs.close
set rs = nothing
conn.close
set conn = nothing
response.write "<script>alert('Newsletter versendet!');"
end select
%>

comm ist der Text der über ein Textarea übergeben wird

Ich verstehe das nicht,

könnt ihe mir helfen.

Ciao Nils

  1. Hallo Nils,

    [...]

    eben als ich meinen Newsletter verschicken wollte, hatte ich folgende Fehlermeldung:

    jmail.SMTPMail-Fehler '8000ffff'

    The message was undeliverable. All servers failed to receive the message

    /admin/newssend.asp, Zeile 24

    Das Cript seiht so (Die Zeile ist markiert):

    [...]

    JMail.Body = comm <<<_------- Hier Hier
      JMail.Execute

    [...]

    Die fehlerverursachende Zeile ist:
    »»   JMail.Execute

    Die Fehlermeldung besagt, dass der Mailserver nicht in der Lage ist,
    die Mail zu senden. Dies könnte daher kommen, dass Du immer wieder
    einen Empfänger per "JMail.AddRecipient" ohne Trennzeichen hinzufügst.
    Der Server sieht dann ab dem 2.ten Schleifendurchlauf in etwa dies:
    empfaenger1@domain.de empfaenger2@domain.de ...
    Damit wird er wohl nichts anfangen koennen (wenn JMail wie ASPMail reagiert)
    und trotz Neuinstantiierung die "alten" Empfänger behält.

    Ein Tipp am Rande:
    Di solltest alle Funktionen, die Du nicht innerhalb der Schleife
    benötigst, vor die Schleife schreiben:

    <%
    ...

    subject = request.form("subject")
    comm = request.form("comm")

    Set JMail = Server.CreateObject("JMail.SMTPMail")
        JMail.ServerAddress = "mail.janssen-s1.de:25"
        JMail.Sender = "taggeckos@taggeckos.de"
        JMail.Subject = subject
        JMail.Body = comm

    rs.open sql,conn

    do while not rs.eof
            emails=rs("emails")
            ' --- Wenn es das bei JMail gibt, alle Empfänger per
            ' --- JMail.ClearAllRecipients löschen.
            JMail.AddRecipient emails
            JMail.Execute
            rs.movenext
        loop
    rs.Close

    Set JMail = nothing
    ...
    %>

    Tschau, Stefan

    1. Hi,

      aber es hat bis jetzt immer funktioniert. Ich verstehe das nicht.

      Ciao Nils

  2. Hi

    also da in der Schleife jedesmal wieder ein
    Set JMail = Server.CreateObject("JMail.SMTPMail")
    aufgerufen wird sollte das
    set JMail = nothing
    evtl. schonmal vor das loop.

    Ansonsten kann ich ich nur als Tip geben :
    gib ein paar Debug-Ausgeben ein , die z.B. ausgeben wie oft
    die Scheleife durchlaufen wird , dabei immer die Werte von
    Receipient,Subject,Body  etc. ausgeben lassen um genauer
    herauszufinden wo der Fehler nun auftaucht

    Achja.. hab nochmal eben nen kleinen test gemacht , folgender Fehler
    kam genau dann wenn ich mal eben nen Buchstaben in der Mailserver-Addresse geändert hatte :

    jmail.SMTPMail-Fehler '8000ffff'
    The message was undeliverable. All servers failed to receive the message

    könnte es also sein das evtl. dein Mail-Server einfach down war oder so ?

    gruss
    Jens