Link in einer empfangenen Email automatisch ausführen

  • Hallo zusammen und frohes neues Jahr!

    wer mehr als wenige Artikel bei ebay-Kleinanzeigen anbietet kennt diese lästigen "Anzeige verlängern"-Emails die man alles 6 Wochen für jeden einzelnen Artikel bekommt.

    Ich frage mich ob es (und wie) möglich ist beim Empfang einer solchen Email im Filtermanager eine Aktion zu definieren die automatisch den "Verlängern"-Link ausführt.

    Im Quelltext der Email findet sich der Link so - siehe unten:

    Die Frage ist also: Ist es über TheBat-Aktionen in Filtern möglich den Link zu extrahieren und im Browser aufzurufen?

    Viele Grüße,
    Thomas

    <td align="left" height="42" class="h42">

    <table cellspacing="0" cellpadding="0" border="0" height="42" class="h42">

    <tr>

    <td height="38" width="200" class="h38" valign="middle" align="center" style="border-top: 2px solid #89b7e9; border-bottom: 2px solid #89b7e9;"><a href="https://www.ebay-kleinanzeigen.de/m-anzeige-verl…t=Button-Extend" target="_blank" rel="noopener noreferrer" style="color: #0165d2; text-decoration: none; font-weight: normal;"><font face="Helvetica, Arial, sans-serif" color="#0165d2" style="font-size: 14px; line-height: 18px; color: #0165d2;">Anzeige verlängern</font>

    </a>

    </td>

    </tr>

    </table>

    </td>

    Einmal editiert, zuletzt von tcj (2. Januar 2022 um 11:25)

  • Hi Thomas,

    dir auch ein gutes neues!

    Ich verstehe deinen Ansatz, aber ich halte die Möglichkeit, einen Link in einer empfangenen Mail automatisch ausführen zu lassen für extrem riskant. Es reicht eine gut gemachte, als ebay Mail getarnte Spam-Mail und du hast dir möglicherweise Malware eingefangen.

    Ich würde dir davon abraten.

  • Die Frage ist also: Ist es über TheBat-Aktionen in Filtern möglich den Link zu extrahieren und im Browser aufzurufen?

    Abgesehen von dem Sicherheitsaspekt gibt's wohl auch technisch keine Möglichkeit dafür. Theoretisch machbar wäre es wohl nur über die Filteraktion Programm starten. Damit könnte man zumindest den Browser starten. Man müsste aber zusätzlich auch noch nur den Link aus der Nachricht an ihn übergeben. Diese Filteraktion ist normalerweise dazu da, um die gesamte Nachricht an ein externes Programm zu schicken. Also müsste man hier wohl wieder mit so etwas wie %COPY arbeiten. Ich habe zum Makro bereits im Thread "Teil einer Seite drucken" etwas geschrieben. In einer automatisierten Nachricht müsste der Link immer an der gleichen Stelle sein. Kannst du mal versuchen.

  • Danke sanyok, mse,

    Ich bin nun auf die regulären Ausdrücke gestoßen und habe mir den regulären Ausdruck gebaut der den Link aus dem HTML-Quellcode der Email extrahieren kann.
    Sieht dann so aus
    Da ich nur Links finde die der gewünschten Domain entsprechen sollte das Risiko so in den Griff zu bekommen sein.


    Nur wie greife ich in den Filter-Aktionen auf den HTML-Quelltext der Nachricht zu? Mit %TEXT bzw. %QUOTES bekomme ich ja nur den nackten Klartext, da sind die Links ja nicht enthalten.
    Gibt es einen Trick?
    %OATTACHMENTS zeigt daß es den Anhang NACHRICHT.HMTL gibt, kann ich über den Anhang auf den Quelltext-Inhalt zugreifen?

    rätselnde Grüße,

    Thomas

  • %OATTACHMENTS zeigt daß es den Anhang NACHRICHT.HMTL gibt

    TB! interpretiert alle HTML-Nachrichten lediglich als HTML-Anhänge. Deswegen sieht man immer den Anhang NACHRICHT.HTML bzw. MESSAGE.HTML, wenn man die englische Oberfläche hat. Auf den gesamten Quelltext kann man dennoch mit %SOURCE zugreifen.

    Wie willst du aber das Ergebnis an den Browser weiterleiten?

  • Hallo sanyok,

    danke - %SOURCE hatte ich schon probiert, es liefert nichts. Auch nicht wenn ich es in einer Filteraktion "Neue Nachricht erstellen" verwende.
    Auch in Vorlagen scheint %SOURCE nicht zu funktionieren. Gibts da einen Trick?
    Oder ist %SOURCE neu (bin noch auf 9.3.3)?

    Die Weiterleitung an den Browser dachte ich mir einfach als Parameter zur Programm-Starten-Filteraktion.
    Was übersehe ich hier?

  • tcj Das nennt man Quoted-printable kodiert.

    Die Dekodierung könnte mit dem 32bit Plugin XMP (auf 32bit The Bat!) und dem Makro XMP_Decode gelöst werden (ungetestet):

    Code
    %_SOURCE=%XMP_Decode(%SOURCE,"Q")%-


    The Bat! Pro 11.x BETA (32bit) | Win 11 Pro x64 | GnuPG 2.4.x | XMP + Regula

    Wer mich Er oder der Drache nennt, bekommt von der Drachin Pratze und Feuer zu spüren.

    2 Mal editiert, zuletzt von GwenDragon (3. Januar 2022 um 11:04)

  • Hallo GwenDragon,

    prima, danke hierfür.
    Ich versuche gerade XMP zu installieren.

    Habe wie in der xmp.chm beschrieben xmp.tbp nach "C:\Program Files\The Bat!\Plugins" und pcre.dll nach "C:\Program Files\The Bat!" kopiert und dann TheBat 9.5 neu gestartet.

    Dann in den Optionen/Plugins versucht C:\Program Files\The Bat!\Plugins\xmp.tbp hinzuzufügen - das endet dann so:

    Liegt wahrscheinlich daran daß ich ein 64Bit-Thebat habe.

    Also 32Bit installieren? Nur um "=" zu entfernen.


  • Steht doch auf der Plugin-Seite im Forum, dass XMP nur mit The Bat! 32bit läuft. Aber ich habe es nun nochmals extra dort markiert.

    Und niemand schreibt dir vor wie du dein Problem lösen musst, meins war nur ein Vorschlag.


    The Bat! Pro 11.x BETA (32bit) | Win 11 Pro x64 | GnuPG 2.4.x | XMP + Regula

    Wer mich Er oder der Drache nennt, bekommt von der Drachin Pratze und Feuer zu spüren.

  • Die Weiterleitung an den Browser dachte ich mir einfach als Parameter zur Programm-Starten-Filteraktion.
    Was übersehe ich hier?

    Dann wirst du also zwei Filteraktionen verwenden müssen. Da aber die Filteraktionen eigentlich unabhängig voneinander ausgeführt werden, selbst wenn nacheinander, entsteht die Frage, ob man Ergebnisse einer Filteraktion in die andere übertragen kann.

    Liegt wahrscheinlich daran daß ich ein 64Bit-Thebat habe.

    Und es gibt (und wird es auch nicht geben) leider keine 64-Bit Version von XMP. Also kommst du damit nicht weiter, es sei denn, dass du TB! 32-Bit installierst.

    wobei die XMP-Hilfe durchaus vorsieht daß es mit 64Bit-Windws funktioniert.

    Ja, weil 32-Bit Programme grundsätzlich auch unter Windows 64-Bit laufen., aber 32-Bit Plugins kann man wiederum grundsätzlich nicht in 64-bit Programmen verwenden, zumindest bei TB! geht's nicht.

  • Hallo zusammem,

    habe für XMP schon eine andere Lösung gefunden und brauche es nicht, die Quoted-Printeable-Kodierung kann man auch per RegEx entfernen, geht so:

    %RexplaceRegExp(/[=]\r\n/,,%SOURCE)

    Damit werden das "=" am Zeilenende inkl. der darauffolgenden CRLF entfernt.

    Damit habe ich insgesamt über folgende RegEx-Ausdrücke den Link freigestellt:
    %SETPATTREGEXP="https:\/\/www\.ebay-kleinanzeigen\.de\/m-anzeige-verlaengern-mail\.html\?adId.{145}3DButton-Extend"

    %REGEXPMATCH="%ReplaceRegExp(/[=]\r\n/,,%SOURCE)"


    Ein Detail könnte noch optimiert werden: in der Email taucht der Link 2x auf, daher findet RegEx den Anfang des ersten Links und das Ende des zweiten Links und alles was dazwischen liegt.

    Das habe ich jetzt erstmal gelöst indem ich mit ".{145} die Länge des Mitteils auf 145 Zeichen festgelegt habe, weiß aber noch nicht ob das immer passt.
    Gibts in RegEx eine Formulierung mit der man die Anzahl der Zeichen variabler begrenzen kann? Ich dachte an {,max}", dann könnte ich mit ".{,200}" die max. Anzahl der Zeichen auf 200 begrenzen, funktioniert aber nicht.

    Es ist sehr lange her daß ich RegEx oft angewendet habe, gabs da nicht eine Formulierung mit der man die Anzahl der benötigten Wiederholungen "minimieren" konnte?
    Ich erinnere mich nicht mehr recht.

    Zusammengefaßt hiermit kann ich über die Filter-Aktion "Nachricht erstellen"
    %SETPATTREGEXP="https:\/\/www\.ebay-kleinanzeigen\.de\/m-anzeige-verlaengern-mail\.html\?adId.{145}3DButton-Extend"

    %REGEXPMATCH="%ReplaceRegExp(/[=]\r\n/,,%SOURCE)"

    diesen Link aus dem Quelltext der Email extrahieren:
    hXXps://http://www.ebay-kleinanzeigen.de/m-anzeige-verl…3DButton-Extend

    soweit sogut.

    Wenn ich aber die identische Filteraktion definiere dann startet Vivaldi ohne eine Webseite aufzurufen.

    Habe schon mit hinzufügen/weglassen von " probiert, alles ohne Erfolg.
    Für heute habe ich keine Idee mehr.

  • so, habe mich doch nochmal hingesetzt, jetzt funktioniert es.
    Sanyok hatte schon richtig geunkt, die RegEx-Calls darf man nicht über mehrere Filteraktionen verteilen, habe jetzt alles schön zusammengeschachtelt und so sieht es jetzt aus:

    C:\Users\tj\AppData\Local\Vivaldi\Application\vivaldi.exe %SETPATTREGEXP="https:\/\/www\.ebay-kleinanzeigen\.de\/m-anzeige-verlaengern-mail\.html\?adId.{135}Button-Extend" %REGEXPMATCH="%ReplaceRegExp(/[=]\r\n/,,%ReplaceRegExp(/[=]3D/,[=],%SOURCE))"

    Dabei ist noch ein zusätzliches Replace daß die eingeschobenen "3D" hinter allen "=" wieder rausschmeißt.

    Macht ein Wish an Ritlabs Sinn für einen zusätzliche %SOURCE*-Befehl mit dem man den ursprünglichen Quelltext bekommt?

    Jetzt hoffe ich mal daß der Mittelteil des Links immer 135-Zeichen lang ist, sonst setzte ich das hier fort und frage wie man das in RegEx variabel formuliert.

    Danke an alle Helfer!

    Viele Grüße,

    Thomas

  • Macht ein Wish an Ritlabs Sinn für einen zusätzliche %SOURCE*-Befehl mit dem man den ursprünglichen Quelltext bekommt?

    Ja, immer. Je mehr das wollen und bestätigen, desto besser. zum Bug Tracker.

    Schreibe du es auch in die The Bat!-Beta-Liste in Englisch als Wish.


    The Bat! Pro 11.x BETA (32bit) | Win 11 Pro x64 | GnuPG 2.4.x | XMP + Regula

    Wer mich Er oder der Drache nennt, bekommt von der Drachin Pratze und Feuer zu spüren.

  • an tcj

    guten tag. ich mache das seit jahren so:

    kommt eine bestimmte email von jemandem "bestimmten", hat eine "bestimmtes" subjekt" UND hat einen ganz "bestimmten" anhang in einem ganz "bestimmten" zip-format, dann wird ein prozess gestartet.

    dieser lautet z.b. bei mir so:

    1. die "bestimmten" anlagen werden daundda abgepeichert.

    2. startet einen prozess (mit der übergabe von parametern.) der prozess fragt "bestimmte" fakten ab und startet dann etwas weiteres

    3. wenn alles fertig ist, wird die email in einen "bestimmten" ordner geschoben. und schluss. die arbeit ist getan.

    also, warum soll man nicht für den kommenden prozess etwas in eine html-datei (z.b. _go.html) abspeichern. mit werkzeugen wie perl alles das rauschmeissen, was in diese datei nicht reingehört. und wird die datei _go.html mit dem aufrufparamer firefox.exe gestartet, und hat den inhalt:

    "http://www.google.de" oder sowas. kapisce?

    ist bestimmt ein umweg, aber wenn thebat es nicht anbietet, würde ich sowas versuchen.

    grüße vom klaus(i)

    TheBat seit Ende 2011. Immer die aktuellste Version. 300.000 emails auf Win11-64bit. Sowas geht nur mit TheBat!

  • ok, habe den Bugtracker-Eintrag erstellt:

    #0002169: %SOURCE delivers sourcecode coded into quoted-printable.

    Bitte fleißig bestätigen.

    @Klaus: ich habe auch zwischendurch dran gedacht den Job extern zu erledigen, aber letztendlich besteht die funktionierende TheBat-Lösung ja aus einem einzeiligen Filter, als Lösung gefällt mir das.

    Muß in RegEx nur noch rausfinden wie man es formuliert daß das ".*" in "ABC.*DEF" den kürzestmöglichen Treffer liefert. Derzeit liefert es den längstmöglichen Treffer was nicht schön ist.

    Viele Grüße,
    Thomas

    Einmal editiert, zuletzt von sanyok (4. Januar 2022 um 12:59) aus folgendem Grund: BT-Link angepasst.

  • ok, habe den Bugtracker-Eintrag erstellt:

    #0002169: %SOURCE delivers sourcecode coded into quoted-printable.

    Bitte fleißig bestätigen.

    Deinen Wunsch habe ich bestätigt,


    The Bat! Pro 11.x BETA (32bit) | Win 11 Pro x64 | GnuPG 2.4.x | XMP + Regula

    Wer mich Er oder der Drache nennt, bekommt von der Drachin Pratze und Feuer zu spüren.