Emailadressen mit zwei Kommas und das completeName Makro

  • Hallo!


    Ich benutze schon lange das XMP mit einem Makro das bei mir "completeName" heisst (ich weiß nicht ob das der offizielle Name ist und woher ich das habe, ich glaube es stammt von Gaijin selbst). Es konvertiert beim Antworten die Absenderadresse und schaut nach ob es etwas passendes im Adressbuch gibt (glaube ich):


    Code
    %_TMP="%TO"%-
    %_C=%XMP_ListCount("%_TMP")%-
    %XMP_For(#x#,1,#%_C#,#%%-
    %%TO=""%%TO="%%XMP_ListAddr('%%_TMP','%%_x')"%%-
    %%_N="%%ABTOName"%%-
    %%IF:"%%_N"="":%%_N="%%XMP_ListName('%%_TMP','%%_x')"%%-
    %%IF:%%_x>1:%%_NEW="%%_NEW, ":%%_NEW=""%%-
    %%_NEW="%%_NEW%%_N <%%TO>"%%-
    #)%-
    %TO=""%TO="%_NEW"%-


    Nun habe ich einen Kunden, der meint alle Mitarbeiteradressen so schreiben zu müssen:


    "Nachname, Vorname, Firma" <vorname.nachname@firma.xyz>


    Das Makro ändert dies zu:


    Nachname <>, Vorname <vorname.nachname@firma.xyz>


    Und das gibt eine Fehlermeldung beim Senden.


    Hilfe! Ich kann zwar ein wenig programmieren, aber bei den TB-Makros müsste ich mich erst mal richtig einarbeiten...falls also einer von Euch das Makro zufällig selbst gehackt hat oder eine Lösung weiß würde mir das enorm helfen! Danke!


    Viele Grüße,
    Martin

  • Wie bindest du das ein? In einer Antwortvorlage? Irgendwie verstehe ich nicht was das machen soll? Konvertiert das Ding wirklich die Absenderadresse sprich deine Adresse??? Kann man sowas nicht mit einer Adressbuch(Antwort)vorlage lösen?

    Man möchte manchmal Kannibale sein, nicht um den oder jenen aufzufressen, sondern um ihn auszukotzen. Johann Nestroy.

    Einmal editiert, zuletzt von beta ()

  • Es korrigiert die Namen und Adressen der Empfänger. Aus

    Code
    "Mustermann, Max" <max@mustermann.org>


    wird

    Code
    "Max Mustermann" <max@mustermann.org>


    bzw. auch

    Code
    max@mustermann.org


    zu

    Code
    "Max Mustermann" <max@mustermann.org>


    wenn der Empfänger im Adressbuch steht. Das macht wohl irgendwie das Makro %ABToName in dem Template.

  • Also wirkt das nur für ausgehende Nachrichten? Weil ich immer Absender lese. Ich habe das immer so verstanden, dass hier eingehende Nachrichten korrigiert werden.

    Man möchte manchmal Kannibale sein, nicht um den oder jenen aufzufressen, sondern um ihn auszukotzen. Johann Nestroy.

  • Ja sorry, da hab ich mich wohl etwas unklar ausgedrückt...aber bernd hat recht.
    Und beta: siehste so gehts mir auch ich kapier nicht auf Anhieb wie das Makro funktioniert...und es funktioniert ja auch toll, bis auf den oben genannten Fall.

  • Ich habe das Makro mal analysiert. Problem ist, dass die Funktion ListCount wohl die Anzahl der mit Komma getrennten Einträge ermittelt.
    Zitat: %XMP_ListCount(Addressliste) = Ermittelt aus einer Liste mit E-Mail Adressen, wie diese z.B. in "%OTO" gespeichert ist, die Anzahl der Adressen. Aus Doe, John <John.Doe@example.com> wird Doe <>, John <John.Doe@example.com>.


    Ich gucke mal was sich machen läßt. Vielleicht kann du mal paar abgewandelte Absenderadressen posten mit den jetzigen falschen Ergebnis?

    Man möchte manchmal Kannibale sein, nicht um den oder jenen aufzufressen, sondern um ihn auszukotzen. Johann Nestroy.

  • Danke, dass Ihr Euch die Zeit nehmt...aber die "echten" Emailadressen würde ich hier wirklich ungern posten :pfeif:


    Das Beispiel wie in meinem ersten Posting ist aber wirklich durchgängig so: bei allen Adressen mit 1 Komma gehts, bei 2 Kommas gehts nimmer.


    Wo ist eigentlich Gaijin ich dachte der moderiert das hier :D

  • Also ich habe das mit einem Komma probiert und bei mir kommt mit deiner Vorlage der Scheiss raus. (Der Chef hat seine linke und rechte Hand geschickt.) ;)

    Man möchte manchmal Kannibale sein, nicht um den oder jenen aufzufressen, sondern um ihn auszukotzen. Johann Nestroy.

  • Zitat


    Also ich habe das mit einem Komma probiert und bei mir kommt mit deiner Vorlage der Scheiss raus. (Der Chef hat seine linke und rechte Hand geschickt.) ;)


    :blush: Oioioi peinlich...ich habe es wohl mit einer Adresse probiert gehabt die im Adressbuch war...sorry für die Verwirrung:


    1. Es kommt was Sinnvolles raus wenn die Adresse im Adressbuch ist
    2. Wenn nicht werden alle Teile des Namens die mit Komma getrennt sind als eigene (leere) Adressen eingesetzt:


    "Nachname, Vorname" <vorname.nachname@xy.z>
    wird zu
    Nachname <>, Vorname <vorname.nachname@xy.z>


    "Nachname, Vorname, Firma" <vorname.nachname@xy.z>
    wird zu
    Nachname <>, Vorname <>, Firma <vorname.nachname@xy.z>



    Sorry nochmal...aber das Problem bleibt ja: wenn Kommas im Namen sind kommt Mist raus!


    EDIT: Also für mich sieht es auch so aus, als würde XMP_ListCount von Kommas innerhalb von Anführungszeichen verwirrt werden (ich weiß jetzt nicht ob Kommas innerhalb von Anführungszeichen im Absendernamen erlaubt sind oder nicht, aber gebräuchlich sind sie allemal...)

  • Gebräuchlich sind sie natürlich, denn sie zeigen an, dass das erste Wort der Nachname ist und nach dem Komma ist dann der Vorname. Wenn kein Komma in den Anführungszeichen ist, ist am Anfang der Vorname und am Ende der Nachname.


    So wie man es früher mal in der Schule gelernt hat.


    Für die Firma ist im Namen kein Platz, siehe mein vorheriges Posting.

  • Zitat


    Ich würde einfach mal dem Absender sagen, dass er den Scheiss lassen soll ;)


    Ist aber kein Scheiß. Sehr Unqualifiziert, lieber Bernd!


    Es ist erlaubt, Strings in Hochkomma zusetzen und das ist dann ein Name!


    Da funktioniert das Makro bzw. XMP nicht richtig!

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


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

  • Zitat


    Da funktioniert das Makro bzw. XMP nicht richtig!


    Ok, danke. Das war eigentlich alles was ich wissen wollte! Ich habe eben noch versucht einen Workaround im Makro zu basteln, indem ich einfach kein <> generiere wenn %%TO in Zeile 4 leer ist , sehe aber vor lauter % nur noch @!#! und lasse das daher lieber.


    Ich hoffe, dass Gaijin uns da hilft :sos:

  • Zitat


    So schwer ist das nicht!


    @negg: Wie soll "Nachname, Vorname, Firma" <vorname.nachname@firma.xyz> umgeformt werden?


    Hm, was meint Ihr denn? Ich glaube, man sollte nicht versuchen zu interpretieren, was welcher Teil ist, sonst macht die nächste Firma es so:


    "Firma, Nachname, Vorname"


    und dann gehts wieder nicht. Es wäre also IMHO das beste, wenn das Original wieder heraus käme, also die Teile von XMP_ListName einfach wieder so zusammengesetzt würden wie sie waren und Anführungszeichen drumrum gemacht werden:


    "Nachname, Vorname, Firma" -> "Nachname, Vorname, Firma"


    Teile einer Adresse wären natürlich nur, was innerhalb von Anführungszeichen steht, also:


    "Meier, Sepp" <ms@test.invalid>, "Muster, Herbert, Firma Y" <mh@test.invalid>


    sollte schon auch noch gehen...eieiei, und Du meinst Du bekommst das hin? Das wäre ja cool. Aber ich hätte auch kein Problem abzuwarten, bis Gaijin sich meldet und verlauten lässt, ob er das als Bug ansieht und mit der nächsten Version von XMP ändert...

  • Zitat


    Es wäre also IMHO das beste, wenn das Original wieder heraus käme, also die Teile von XMP_ListName einfach wieder so zusammengesetzt würden wie sie waren und Anführungszeichen drumrum gemacht werden


    Dann benutze die Vorlage doch einfach nicht, dann wird doch der Absender genauso wieder in den Empfänger übernommen.


    Zitat


    Es ist erlaubt, Strings in Hochkomma zusetzen und das ist dann ein Name!


    Da funktioniert das Makro bzw. XMP nicht richtig!


    Die Vorlage macht das was sie soll, nämlich das von mir genannte Namensformat umwandeln. Wenn jemand gegen das gültige Format verstößt und beliebigen Text verwendet, dann ist das nicht die Schuld der Vorlage. Dann darf man sie in diesem speziellen Fall einfach nicht benutzen.


    Ich hätte kein Problem damit, den Absender darauf hinzuweisen, dass er doch bitte seine Kopfdaten überarbeiten möge.

  • Zitat


    Dann benutze die Vorlage doch einfach nicht, dann wird doch der Absender genauso wieder in den Empfänger übernommen.


    Nun, ich benutze die Schnellvorlage ja eigentlich schon gerne, weil sie eben in vielen Fällen von komisch formatierten Absendern den Namen im Adressbuch findet und richtig ausgibt (und dann die nachfolgenden Makros für Anrede etc. dann auch funktionieren). Sie funktioniert ja nur nicht in dem einen Fall, wenn der Name mit Komma getrennt ist und nicht im AB ist!
    Aber Du hast natürlich auch wieder recht, ich könnte eine spezielle Schnellvorlage ohne das Makro für die Leute machen, die ihre Adresse so schreiben, und die dann über einen shortcut auslösen. Ist halt nur wieder noch ein Quicktemplate mehr...wär schon schön, wenn sich die XMP_List... Funktionen nicht von Kommas durcheinanderbringen lassen würden!

  • Mach dir ne Schnellvorlage, nenne sie of und schreib

    Code
    %SETHEADER("TO",%OFROM)


    rein. Dann hast du eine relativ saubere Lösung, die sich über STRG+Leertaste schnell ausführen lässt.


    Oder du nimmst eben die Leute in das Adressbuch mit auf, falls du einen neuen Kontakt hast, der solche Absender verwendet. Mir ist sowas bisher jedenfalls nicht untergekommen, deshalb glaube ich eigentlich nicht, dass jeder so etwas drin stehen hat.