Keine Email bei Bestellbestätigung

Hallo Leute,

ich nutze SW 6.1.5 und bekomme leider keine Bestellbestätigung als Email, nachdem eine Bestellung ausgelöst wurde. Das Senden einer Test-Email funktioniert komischerweise.

Der Fehler im LOG sieht so aus:

app.ERROR: Could not render Mail-Template with error message: Failed rendering string template using Twig: Variable „customer“ does not exist in „80f596e600834b05cc583b1251182483“ at line 1. Error Code:0 Template source:Hallo {{ customer.salutation.letterName }} {{customer.firstName}} {{ customer.lastName }},                                  v

Meine Text und HTML vorlagen sehen wie folgt aus:

{% set currencyIsoCode = order.currency.isoCode %}
Hallo {{order.orderCustomer.salutation.letterName }} {{order.orderCustomer.firstName}} {{order.orderCustomer.lastName}},

vielen Dank für Deine Bestellung im {{ salesChannel.name }} (Nummer: {{order.orderNumber}}) am {{ order.orderDateTime|date }}. 

Informationen zu Ihrer Bestellung:

Pos.   Artikel-Nr.            Beschreibung            Menge            Preis            Summe
{% for lineItem in order.lineItems %}
{{ loop.index }}     {% if lineItem.payload.productNumber is defined %}{{ lineItem.payload.productNumber|u.wordwrap(80) }}{% endif %}                {{ lineItem.label|u.wordwrap(80) }}            {{ lineItem.quantity }}            {{ lineItem.unitPrice|currency(currencyIsoCode) }}            {{ lineItem.totalPrice|currency(currencyIsoCode) }}
{% endfor %}

{% set delivery = order.deliveries.first %}

Versandkosten: {{order.deliveries.first.shippingCosts.totalPrice|currency(currencyIsoCode) }}
Gesamtkosten Netto: {{ order.amountNet|currency(currencyIsoCode) }}
    {% for calculatedTax in order.price.calculatedTaxes %}
        {% if order.taxStatus is same as(‚net‘) %}zzgl.{% else %}inkl.{% endif %} {{ calculatedTax.taxRate }}% MwSt. {{ calculatedTax.tax|currency(currencyIsoCode) }}
    {% endfor %}
Gesamtkosten Brutto: {{ order.amountTotal|currency(currencyIsoCode) }}

Gewählte Zahlungsart: {{ order.transactions.first.paymentMethod.name }}
{{ order.transactions.first.paymentMethod.description }}

Gewählte Versandart: {{ delivery.shippingMethod.name }}
{{ delivery.shippingMethod.description }}

{% set billingAddress = order.addresses.get(order.billingAddressId) %}
Rechnungsadresse:
{{ billingAddress.company }}
{{ billingAddress.firstName }} {{ billingAddress.lastName }}
{{ billingAddress.street }}
{{ billingAddress.zipcode }} {{ billingAddress.city }}
{{ billingAddress.country.name }}

Lieferadresse:
{{ delivery.shippingOrderAddress.company }}
{{ delivery.shippingOrderAddress.firstName }} {{ delivery.shippingOrderAddress.lastName }}
{{ delivery.shippingOrderAddress.street }}
{{ delivery.shippingOrderAddress.zipcode}} {{ delivery.shippingOrderAddress.city }}
{{ delivery.shippingOrderAddress.country.name }}

{% if billingAddress.vatId %}
Ihre Umsatzsteuer-ID: {{ billingAddress.vatId }}
Bei erfolgreicher Prüfung und sofern Sie aus dem EU-Ausland
bestellen, erhalten Sie Ihre Ware umsatzsteuerbefreit.
{% endif %}

Für Rückfragen stehen wir Ihnen jederzeit gerne zur Verfügung.
 

HTML

{% set currencyIsoCode = order.currency.isoCode %}
Hallo {{order.orderCustomer.salutation.letterName }} {{order.orderCustomer.firstName}} {{order.orderCustomer.lastName}},

vielen Dank für Ihre Bestellung im {{ salesChannel.name }} (Nummer: {{order.orderNumber}}) am {{ order.orderDateTime|date }}.

Informationen zu Ihrer Bestellung:

    |
        Pos. |
        Bezeichnung |
        Menge |
        Preis |
        Summe |
   

    {% for lineItem in order.lineItems %}
   

|
        {{ loop.index }} |
       
          {{ lineItem.label|u.wordwrap(80) }}

          {% if lineItem.payload.productNumber is defined %}Artikel-Nr: {{ lineItem.payload.productNumber|u.wordwrap(80) }}{% endif %}
        |
        {{ lineItem.quantity }} |
        {{ lineItem.unitPrice|currency(currencyIsoCode) }} |
        {{ lineItem.totalPrice|currency(currencyIsoCode) }} |
   

    {% endfor %}

{% set delivery = order.deliveries.first %}

   

   

    Versandkosten: {{order.deliveries.first.shippingCosts.totalPrice|currency(currencyIsoCode) }}

    Gesamtkosten Netto: {{ order.amountNet|currency(currencyIsoCode) }}

        {% for calculatedTax in order.price.calculatedTaxes %}
            {% if order.taxStatus is same as(‚net‘) %}zzgl.{% else %}inkl.{% endif %} {{ calculatedTax.taxRate }}% MwSt. {{ calculatedTax.tax|currency(currencyIsoCode) }}

        {% endfor %}
    Gesamtkosten Brutto: {{ order.amountTotal|currency(currencyIsoCode) }}

   

    Gewählte Zahlungsart: {{ order.transactions.first.paymentMethod.name }}

    {{ order.transactions.first.paymentMethod.description }}

   

    Gewählte Versandart: {{ delivery.shippingMethod.name }}

    {{ delivery.shippingMethod.description }}

   

    {% set billingAddress = order.addresses.get(order.billingAddressId) %}
    Rechnungsadresse:

    {{ billingAddress.company }}

    {{ billingAddress.firstName }} {{ billingAddress.lastName }}

    {{ billingAddress.street }}

    {{ billingAddress.zipcode }} {{ billingAddress.city }}

    {{ billingAddress.country.name }}

   

    Lieferadresse:

    {{ delivery.shippingOrderAddress.company }}

    {{ delivery.shippingOrderAddress.firstName }} {{ delivery.shippingOrderAddress.lastName }}

    {{ delivery.shippingOrderAddress.street }}

    {{ delivery.shippingOrderAddress.zipcode}} {{ delivery.shippingOrderAddress.city }}

    {{ delivery.shippingOrderAddress.country.name }}

   

    {% if billingAddress.vatId %}
        Ihre Umsatzsteuer-ID: {{ billingAddress.vatId }}
        Bei erfolgreicher Prüfung und sofern Sie aus dem EU-Ausland
        bestellen, erhalten Sie Ihre Ware umsatzsteuerbefreit.

    {% endif %}

    Für Rückfragen stehen wir Ihnen jederzeit gerne zur Verfügung.

Hat jemand eine Idee worum das liegen könnte?

 

 

Bist du sicher, dass das Problem bei der Bestellbestätigung liegt und das der Log Eintrag damit zusammenhängt?

app.ERROR: Could not render Mail-Template with error message: Failed rendering string template using Twig: Variable “customer” does not exist in “80f596e600834b05cc583b1251182483” at line 1. Error Code:0 Template source:Hallo {{ customer.salutation.letterName }} {{customer.firstName}} {{ customer.lastName }}

Die Variable customer kommt ja in dieser Vorlage garnicht vor sondern_  order.orderCustomer._

Hast du ggf. andere Vorlagen die korrumt sind, wo auch die Testmail nicht geht, ist aber nur eine Vermutung.

 

Hey, 

schon einmal vielen Dank für deinen Tip. Hab mir die anderen Vorlagen angesehen aber alle benutzen Order.ordercustomer

ich habe soeben noch einmal eine Bestellung durchgeführt und der dazu passende Log ist genau wie oben geschrieben.

 

hast du eine Idee was das genau bedeutet:

does not exist in „80f596e600834b05cc583b1251182483“ at line 1.

ist das ein Bezug zu einer Datenbank ? Kann ich das irgendwie prüfen ?

vielen Dank!

Schau mal im Admin die Vorlagen durch, ggf. hast du zwei Bestellbestätigungen? ALso die den gleichen Typ haben.

1 Like

Bei der ID könnte es sich um den Sales Channel handeln, hast du die Bestellbestätigung einem Saleschannel zugeordnet oder eventuell mehrere Bestellbestätigungen einem Saleschannel zugeordnet?

1 Like

Hallo Leute,

noch einmal vielen Dank für eure Hinweise.

Ich habe noch ein alle Hinweise von euch kontrolliert und am Ende lag es an einem Header. Hier hat sich die falsche Variable versteckt.

Ich meine in anderen Beiträgen gelesen zu haben, dass Header/Footer ohnehin noch nicht zu 100% funktionieren. Glaube dazu gibt es bereits auch ein Ticket.

Vielen Dank! Problem gelöst!

@chrislipps‍ kannst du uns vielleicht sagen wie das gelöst hast?? ich habe das gleiche Problem, aber ich habe kein Header!! 

Bei mir lag das Problem an falsche Variable: custom.email