Mehrere E-Mail Adressen hinterlegen?

Martin1977

Sehr aktives Mitglied
1. August 2023
343
66
Hi,

sagt mal, habt ihr nun auch vermehrt das Problem dass man nun öfters verschiedene E-Mail Adressen pro Kunde hinterlegen muss? Es kommen ja immer mehr Wünsche wie, Rechnungen bitte zukünftig an rechnung@domain.de aber schicken Sie mir bitte weiterhin die AB an meine Adresse zu.

Ich frage mich, wie ich das sauber umsetzen kann, ich dachte erst an ein eigenes Feld ala "Rechnung E-Mail Adresse", aber dann wird es sicherlich kompliziert mit dem automatischen Rechnungsversand per Workflow, oder?

Daher meine Frage, wie löst ihr das?
 

Steffen80

Sehr aktives Mitglied
27. August 2012
305
67
Genau so machen wir das auch.

Abfrage findet bei uns in den Druck/Mailvorlagen >> Empfänger statt

Wenn Feld X bei Kundenstammdaten gefüllt sende dahin ansonsten Mailadresse aus Auftrag...
 

Steffen80

Sehr aktives Mitglied
27. August 2012
305
67
Wenn Du nur ein Feld mit einer Mailadresse bei den Eigenen Feldern in den Kundendaten hast kannst unseren Code probieren:

Code:
{% assign Mail1 = Vorgang.Kunde.EigeneFelderAlsText | Replace: '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}','' %}\
{% assign Mail2 =  Vorgang.Kunde.EigeneFelderAlsText | Replace: Mail1 ,'' -%}\
{% assign Mail3 = Mail2 | Split: '|' %}\
{% if Vorgang.Kunde.EigeneFelderAlsText contains '@' -%}\
{{Mail3}}\
{% else -%}\
{{Vorgang.Auftrag.Rechnungsadresse.EMail}}\
{% endif -%}

Geht Sicher eleganter mit SQL aber funktioniert momentan für uns.
 

Martin1977

Sehr aktives Mitglied
1. August 2023
343
66
Vielen Dank, wird mal direkt getestet.

Vorgang.Kunde.EigeneFelderAlsText

Das ist dein benanntes Feld für die E-Mail Adresse richtig? Da muss ich nur auf die korrekte Bezeichnung achten und entsprechend anpassen
 

Steffen80

Sehr aktives Mitglied
27. August 2012
305
67
Vorgang.Kunde.EigeneFelderAlsText
ist eine Variable die Dir alle Eigenen Felder beim Kunden als Text getrennt durch | ausgibt

Code funktioniert nur wenn hier nur einmal das @ Zeichen vorkommt
Gruppenname und Feldname ist dabei egal bei uns heißt es
E-Rechnung > E-Rechnung Datentyp E-Mail (Anzulegen unter Admin > Eigene Felder > Kundenbereich)

Mail1 Der Code macht folgendes er sucht nach einer Mailadresse in den Eigenen Felder und löscht diese
Mail2 löscht alle anderen Eigenen Felder (Inhalt von Mail1) und behält die Mailadresse mit den Trennzeichen
Mail3 löscht die Trennzeichen so daß eine Mailadresse übrigbleibt

Dann die Prüfung ob die Eigenen Felder eine Mailadresse (@) enthalten.
Falls ja gibt er Mail3 aus ansosnten die im Auftrag > Rechnungasdresse hinterlegte Mailadresse

Einfach im Editor ausprobieren indem du dir die Variablen ausgeben lässt
 

Steffen80

Sehr aktives Mitglied
27. August 2012
305
67
Hab nen bissel gebastelt und den Code erweitert, so dass auch mehere EmailFelder kein Problem sind und Du den Namen frei wählen kannst.
Bei uns heißt das Feld E-Rechnung
Ganz oben Deinen Feldnamen eintragen
Groß/Kleinschreibung beachten


Felder sind als Eigene Felder unter Kunden angelegt (Datentyp Email)

Bin kein DOTLIQUID Spezi und manche Dinge kann ich nicht nachvollziehen z.B das nach dem Kommando Split die Abfrage mit contains nach dem @ Zeichen scheitert...
Deswegen wird hier Mail3 abgefragt.
Sicher Verbesserungswürdig und ohne Gewähr aber funktioniert für uns
Code prüft ebenfalls ob es sich um eine gültige Mailadresse handelt, falls nicht wird die Mailadresse aus dem Auftrag genommen.

Hier der Code zum ausprobieren:

Code:
{% assign Feldname = 'E-Rechnung' %}\
{% comment-%}Name des Eigenen Feldes unter Kundenstammdaten{% endcomment -%}
{% assign Feldname = Feldname |Append:'='|Prepend:'.' %}\
{% assign Feldname2 = Feldname |Append:'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}' %}\
{% assign Mail1 = Vorgang.Kunde.EigeneFelderAlsText | Replace: Feldname2%}\
{% assign Mail2 =  Vorgang.Kunde.EigeneFelderAlsText | Replace: Mail1  -%}\
{% assign Mail3 = Mail2 | Replace: Feldname %}\
{% assign Mail4 = Mail3 | Split: '|' %}\
{% if Mail3 contains '@' -%}\
{{Mail4}}\
{% else -%}\
{{Vorgang.Auftrag.Rechnungsadresse.EMail}}\
{% endif -%}
 
Zuletzt bearbeitet:

Martin1977

Sehr aktives Mitglied
1. August 2023
343
66
Vielen Dank Steffen, werde ich diese Woche, vielleicht morgen schon angehen und testen. Heute habe ich erst einmal JTL Vouchers an den Onlineshop angebunden.

Gibt ja immer was zu tun, wie Lego für Erwachsene :)
 

lohkaes

Gut bekanntes Mitglied
27. April 2007
229
14
Hab nen bissel gebastelt und den Code erweitert, so dass auch mehere EmailFelder kein Problem sind und Du den Namen frei wählen kannst.
Bei uns heißt das Feld E-Rechnung
Ganz oben Deinen Feldnamen eintragen
Groß/Kleinschreibung beachten


Felder sind als Eigene Felder unter Kunden angelegt (Datentyp Email)

Bin kein DOTLIQUID Spezi und manche Dinge kann ich nicht nachvollziehen z.B das nach dem Kommando Split die Abfrage mit contains nach dem @ Zeichen scheitert...
Deswegen wird hier Mail3 abgefragt.
Sicher Verbesserungswürdig und ohne Gewähr aber funktioniert für uns
Code prüft ebenfalls ob es sich um eine gültige Mailadresse handelt, falls nicht wird die Mailadresse aus dem Auftrag genommen.

Hier der Code zum ausprobieren:

Code:
{% assign Feldname = 'E-Rechnung' %}\
{% comment-%}Name des Eigenen Feldes unter Kundenstammdaten{% endcomment -%}
{% assign Feldname = Feldname |Append:'='|Prepend:'.' %}\
{% assign Feldname2 = Feldname |Append:'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}' %}\
{% assign Mail1 = Vorgang.Kunde.EigeneFelderAlsText | Replace: Feldname2%}\
{% assign Mail2 =  Vorgang.Kunde.EigeneFelderAlsText | Replace: Mail1  -%}\
{% assign Mail3 = Mail2 | Replace: Feldname %}\
{% assign Mail4 = Mail3 | Split: '|' %}\
{% if Mail3 contains '@' -%}\
{{Mail4}}\
{% else -%}\
{{Vorgang.Auftrag.Rechnungsadresse.EMail}}\
{% endif -%}
Hallo Steffen,

kurze Frage:
Hast du das auch schon mal mit den Vorlagen 2.0 getestet? Es scheint so zu sein, als ob es hier die Variablen bzw. die Abfrage für die eigenen Felder so nicht gibt.
Oder ich hab es bisher nicht gefunden. Aktuell mach ich hier einen workarround:

Code:
{% capture itemquery %}
SELECT cWertVarchar FROM [Kunde].[tKundeEigenesFeld]
JOIN dbo.tAttributSprache ON [tKundeEigenesFeld].kAttribut = dbo.tAttributSprache.kAttribut
WHERE tAttributSprache.kSprache = 0 
AND [tKundeEigenesFeld].kKunde = {{ Report.Customer.InternalId | SqlEscape }}
AND tAttributSprache.cName = 'Mail_Angebot'
{% endcapture -%}
{% assign MAIL_AN = itemquery | DirectQueryScalar -%}
{% if MAIL_AN == "" or MAIL_AN == null %}
{{ Vorgang.Auftrag.Rechnungsadresse.EMail}}
{% else %}
{{ MAIL_AN }}
{% endif %}
 

Steffen80

Sehr aktives Mitglied
27. August 2012
305
67
Hallo Steffen,

kurze Frage:
Hast du das auch schon mal mit den Vorlagen 2.0 getestet? Es scheint so zu sein, als ob es hier die Variablen bzw. die Abfrage für die eigenen Felder so nicht gibt.
Oder ich hab es bisher nicht gefunden. Aktuell mach ich hier einen workarround:
Nein Vorlagen 2.0 ist ein Projekt was ich gerne vor mir herschiebe. Viel Arbeit die Vorlagen upzudaten.
Habe aber mal eben kurz geschaut und die Variable auch nicht gefunden.🤔 Ärgerlich...
Insofern bleibt dann nur SQL und hoffen das die Tabellen sich nicht ändern.
Damit habe ich mich aber noch nicht beschäftigt.
 

Martin1977

Sehr aktives Mitglied
1. August 2023
343
66
Hallo Steffen,

kurze Frage:
Hast du das auch schon mal mit den Vorlagen 2.0 getestet? Es scheint so zu sein, als ob es hier die Variablen bzw. die Abfrage für die eigenen Felder so nicht gibt.
Oder ich hab es bisher nicht gefunden. Aktuell mach ich hier einen workarround:

Code:
{% capture itemquery %}
SELECT cWertVarchar FROM [Kunde].[tKundeEigenesFeld]
JOIN dbo.tAttributSprache ON [tKundeEigenesFeld].kAttribut = dbo.tAttributSprache.kAttribut
WHERE tAttributSprache.kSprache = 0
AND [tKundeEigenesFeld].kKunde = {{ Report.Customer.InternalId | SqlEscape }}
AND tAttributSprache.cName = 'Mail_Angebot'
{% endcapture -%}
{% assign MAIL_AN = itemquery | DirectQueryScalar -%}
{% if MAIL_AN == "" or MAIL_AN == null %}
{{ Vorgang.Auftrag.Rechnungsadresse.EMail}}
{% else %}
{{ MAIL_AN }}
{% endif %}
Hi

ich habe es mit dieser Vorlage unter Vorlagen 2.0 soeben zum Laufen bekommen. Schon mal vielen Dank dafür, für Vorlagen 2.0 sieht es bei mir so aus, Mein eigenes Feld bei Kunden heißt "E-Rechnung". Also nur die Zeile



Code:
AND tAttributSprache.cName = 'E-Rechnung'

anpassen, dann passt es, ist das Feld E-Rechnung leer, nimmt er die Mail der Rechnungsadresse, das ist
Code:
{{ Report.InvoiceBillToAddress.EmailAddress }}


Code:
HTML clipboard {% capture itemquery %}
SELECT cWertVarchar FROM [Kunde].[tKundeEigenesFeld]
JOIN dbo.tAttributSprache ON [tKundeEigenesFeld].kAttribut = dbo.tAttributSprache.kAttribut
WHERE tAttributSprache.kSprache = 0
AND [tKundeEigenesFeld].kKunde = {{ Report.Customer.InternalId | SqlEscape }}
AND tAttributSprache.cName = 'E-Rechnung'
{% endcapture -%}
{% assign MAIL_AN = itemquery | DirectQueryScalar -%}
{% if MAIL_AN == "" or MAIL_AN == null %}
{{ Report.InvoiceBillToAddress.EmailAddress }}
{% else %}
{{ MAIL_AN }}
{% endif %}
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Steffen80
Ähnliche Themen
Titel Forum Antworten Datum
Neu Mehrere Connectoren aktiv – falscher Shopify-Shop wird verbunden Installation von JTL-Wawi 1
Mehrere Bankverbindungen in den Firmenstammdaten anlegen JTL-Wawi - Ideen, Lob und Kritik 2
Neu Mehrere Bankverbindungen bei Nachnahme über DHL Versenden 3.0 User helfen Usern - Fragen zu JTL-Wawi 2
In Diskussion Mehrere Bestellungen Farblich markieren JTL-Workflows - Ideen, Lob und Kritik 8
Google Merchant, wie mehrere Länder anlegen? Einrichtung JTL-Shop5 4
Neu 1 Lieferantenbestellung und mehrere Läger Arbeitsabläufe in JTL-Wawi 2
Mehrere unterschiedliche Artikeletikette drucken JTL-Wawi 1.10 2
Neu Workflow mehrere Werte setzen Shopify-Connector 2
Beantwortet Dhl mehrere Label für einen Auftrag JTL-ShippingLabels - Fehler und Bugs 0
Neu Versandetikett bei Dropshipping per E-Mail mitsenden Arbeitsabläufe in JTL-Wawi 10
In Diskussion Externe E-Mail mit Auftragsdaten per Workflow erzeugen JTL-Workflows - Fehler und Bugs 10
Neu Kunden E-Mail korrigieren User helfen Usern - Fragen zu JTL-Wawi 1
Neu Mail Bestellbestätigung aus dem Shop Betrieb / Pflege von JTL-Shop 1
Neu Auftrag: Keine E-Mail-Adresse bei Lieferadresse JTL-Wawi - Fehler und Bugs 0
Auftrag: Keine E-Mail-Adresse bei Lieferadresse JTL-Wawi 1.10 0
Bestellung kann nicht per Mail verschickt werden JTL-Wawi 1.10 1
Neu Mail Vorlage Bestellbestätigung falsch JTL-Shop - Fehler und Bugs 3
Fwd: Please purchase Mail.dll license at ......... JTL-Wawi 1.10 1
Automatische E-Mail-Erinnerung JTL-Wawi 1.10 5
Neu Connector funktioniert seit Fehler E-Mail nicht mehr Shopify-Connector 3
Neu E-Mail Adressänderung beim Kunden zieht nicht für den Mailversand JTL-Ameise - Fehler und Bugs 4
Neu Kundennachricht - E-Mail - HTML Vorlage erstellen/anpassen User helfen Usern - Fragen zu JTL-Wawi 3
In Diskussion Rechnung per mail / Workflow gibt Fehler aus JTL-Workflows - Fehler und Bugs 6
Neu Wie richte ich es so ein, dass alle vom Shop versendeten Mails per BBC an eine bestimmte Mail gehen (SMTP) Allgemeine Fragen zu JTL-Shop 1
Neu Gutschein E-Mail versand direkt nach den ändern der Kundenklasse Allgemeine Fragen zu JTL-Shop 0
Verschiedene E-Mail-Adressen JTL-Wawi 1.9 8
Neu Kundendaten inkl Login Daten auf neuen Shop übertragen inkl Blowfish Key. Fehlerhafte Adressen etc mit Sonderzeichen etc Allgemeine Fragen zu JTL-Shop 1

Ähnliche Themen