Marcus: (ASP oder JavaScript) automatisches Versenden !

Guten Morgen !

Ich weiss das dieses Thema desöfteren rankam aber leider wurde damit mein Problem nicht gelöst.

Ich rufe über eine ASP-Komponete e-Mails ab und schreibe Sie dann in die Datenbank.

Nun gibt es eine Übersichtsseite:

------------------------------------------------
ID  Weiterleiten    Name         Anzeigen
------------------------------------------------
1      ja           Meyer        Anzeigen
2      nein         Müller       Anzeigen
usw...
------------------------------------------------

Ich möchte jetzt das ein JavaScript o.ä. überprüfen
soll welche e-Mails weitergeleitet werden sollen und diese dann automatisches weiterleitet.
Konktret: Überall wo Weiterleiten JA steht soll eine  ASP-Seite WEITERLEITEN.ASP?WHICH=ID im Hintergrund aufgerufen werden .

Ist das so möglich ???

Über jeden Tip wäre ich sehr dankbar

mfg

Marcus

  1. Guten Morgen !

    Ich weiss das dieses Thema desöfteren rankam aber leider wurde damit mein Problem nicht gelöst.

    Ich rufe über eine ASP-Komponete e-Mails ab und schreibe Sie dann in die Datenbank.

    Nun gibt es eine Übersichtsseite:


    ID  Weiterleiten    Name         Anzeigen

    1      ja           Meyer        Anzeigen
    2      nein         Müller       Anzeigen
    usw...

    Ich möchte jetzt das ein JavaScript o.ä. überprüfen
    soll welche e-Mails weitergeleitet werden sollen und diese dann automatisches weiterleitet.
    Konktret: Überall wo Weiterleiten JA steht soll eine  ASP-Seite WEITERLEITEN.ASP?WHICH=ID im Hintergrund aufgerufen werden .

    Ist das so möglich ???

    Über jeden Tip wäre ich sehr dankbar

    mfg

    Marcus

    Hallo Marcus,

    wenn ich das richtig verstanden habe, willst Du, wenn Du dir die Seite anzeigen läßt, im Hintergrund die Mails direkt weiterleiten.

    Für das oben beschriebene könnte man folgende Funktion versenden. (benutzt ASPMail, da sehr viele große ISP's mit NT-Servern installiert haben)

    <%
    Private Function SendMail(RecipientName, RecipientMail, BodyText)

    Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
    Mailer.Organization   = "Firmenname"
    Mailer.FromName   = "Absendername"
    Mailer.FromAddress  = "absender@firma.de"
    Mailer.RemoteHost   = "mailserver@firma.de"
    Mailer.ClearAllRecipients
    Mailer.AddRecipient     RecipientName, RecipientMail
    Mailer.Subject    = "Betreff"
    Mailer.ClearBodyText
    Mailer.BodyText     = BodyText
    If Mailer.SendMail Then
      SendMail = "OK"
      intCounterOK = intCounterOK + 1
      Else
       SendMail = Mailer.Response
       intCounterFail = intCounterFail + 1
    End if
    Set Mailer = Nothing

    End Function
    %>

    Ich habe den Code gerade umgeschrieben, daher kann es sein, daß evtl. ein Schriebfehler drin ist, aber vom Grundsatz her sollte das klappen.

    Jetzt kannst Du die Funktion aufrufen, wenn die Mail weitergeleitet werden soll.

    <%
    If objRS.Fields("Weiterleiten") = "ja" Then
        SendMailOK = SendMail(objRS.Fields("Name"), objRS.FIelds("EMail"), objRS.Fields("Text"))
    End if
    %>

    Ich hoffe, Dir geholfen zu haben

    Tschau, Stefan

    1. Hallo Marcus,

      wenn ich das richtig verstanden habe, willst Du, wenn Du dir die Seite anzeigen läßt, im Hintergrund die Mails direkt weiterleiten.

      Für das oben beschriebene könnte man folgende Funktion versenden. (benutzt ASPMail, da sehr viele große ISP's mit NT-Servern installiert haben)

      <%
      Private Function SendMail(RecipientName, RecipientMail, BodyText)

      Set Mailer = Server.CreateObject("SMTPsvg.Mailer")

      »»  Mailer.Organization   = "Firmenname"
      »»  Mailer.FromName   = "Absendername"
      »»  Mailer.FromAddress  = "absender@firma.de"
      »»  Mailer.RemoteHost   = "mailserver@firma.de"
      »»  Mailer.ClearAllRecipients
      »»  Mailer.AddRecipient     RecipientName, RecipientMail
      »»  Mailer.Subject    = "Betreff"
      »»  Mailer.ClearBodyText
      »»  Mailer.BodyText     = BodyText
      »»  > If Mailer.SendMail Then
      »»   SendMail = "OK"
      »»   intCounterOK = intCounterOK + 1
      »»   Else
      »»    SendMail = Mailer.Response
      »»    intCounterFail = intCounterFail + 1
      »»  End if

      Set Mailer = Nothing

      End Function
      %>

      Ich habe den Code gerade umgeschrieben, daher kann es sein, daß evtl. ein Schriebfehler drin ist, aber vom Grundsatz her sollte das klappen.

      Jetzt kannst Du die Funktion aufrufen, wenn die Mail weitergeleitet werden soll.

      <%
      If objRS.Fields("Weiterleiten") = "ja" Then
          SendMailOK = SendMail(objRS.Fields("Name"), objRS.FIelds("EMail"), objRS.Fields("Text"))
      End if
      %>

      Ich hoffe, Dir geholfen zu haben

      Tschau, Stefan

      Hi Stefan

      Danke für Deine Antwort, habe aber trotzdem noch Fragen :)

      If Mailer.SendMail Then
      »»   SendMail = "OK"
      »»   intCounterOK = intCounterOK + 1
      »»   Else
      »»    SendMail = Mailer.Response
      »»    intCounterFail = intCounterFail + 1
      »»  End if

      Set Mailer = Nothing

      Welche Funktion hat diese IF-Anweisung ?

      Wenn ich jetzt ca. 25 Mails habe die weitergeleitet werden sollen, muß ich doch auch ein eindeutige ID mitübergeben ???

      Oder leitet er eine MAil nach der anderen weiter ???

      Muss man nicht eine Schleife generieren ???

      Vielen Dank

      mfg

      Marcus

      1. Hi Stefan

        Danke für Deine Antwort, habe aber trotzdem noch Fragen :)

        If Mailer.SendMail Then
        »»     SendMail = "OK"
        »»     intCounterOK = intCounterOK + 1
        »»     Else
        »»         SendMail = Mailer.Response
        »»         intCounterFail = intCounterFail + 1
        End if

        Welche Funktion hat diese IF-Anweisung ?

        Das ist ganz einfach eine Abfrage, ob der Mailversand geklappt hat (Mailer.Response enthält den Fehlertext bei fehlgeschlagenem Mailversand)

        Wenn ich jetzt ca. 25 Mails habe die weitergeleitet werden sollen, muß ich doch auch ein eindeutige ID mitübergeben ???

        Oder leitet er eine MAil nach der anderen weiter ???

        Muss man nicht eine Schleife generieren ???

        Wie gesagt, der Code ist nicht hundertprozentig. Die Funktion ist dafür gedacht, bei jedem Deiner Schleifendurchläufe (für jede Mail, die in der DB steht), die Funktion SendMail aufzurufen, um die EMail weiterzuleiten.
        Du kannst die Mails auch direkt aus der Datenbank auslesen: "SELECT Name, EMail, Text FROM Tabelle WHERE Weiterleiten = True"
        Dann eine Schleife um das Recordset, bis zum letzten Satz und hierin die EMails versenden.

        Tschau, Stefan

        1. Hi !

          Nochmals vielen Dank !

          Ich habe noch eine Frage und zwar möchte ich das die Mails nur zwischen 22:00 Uhr und 06:00 weitergeleitet werden sollen.

          Hast du dafür noch einen Tip ?

          thx & cu

          Marcus

          1. Hi !

            Nochmals vielen Dank !

            Ich habe noch eine Frage und zwar möchte ich das die Mails nur zwischen 22:00 Uhr und 06:00 weitergeleitet werden sollen.

            Hast du dafür noch einen Tip ?

            thx & cu

            Marcus

            Hallo Marcus,

            willst Du die Mails dann versenden oder nur Mails, die ziwschen 22.00 Uhr und 6.00 Uhr eingehen, weiterleiten.
            Falls Du eine ASP-Seite hast, die sich kontinuierlich lädt (da ja hier kein Batchbetrieb möglich ist), mußt Du lediglich die Zeit mit Time() abfragen und dann die Mails versenden oder auch nicht.
            Einen Queue erstellen und diesen zu einer bestimmten Zeit versenden ist meines Wissens nach nicht möglich. Du könntest höchtens mit dem Taskplaner eine Seite erstellen, die zwischen 22.00 Uhr und 6.00 Uhr geladen wird und die Mails versendet.

            Tschau, Stefan