BCC-Mail versenden – Bewertungsaufforderung Trustpilot

Hallo zusammen,

um Kundenbewertungen bei Trustpilot zu bekommen, konnte man bis Ende 2020 seine Kundendaten zu Trustpilot hochladen. Das geht jetzt nicht mehr.

Jetzt kann man eine feste E-Mail-Adresse von Trustpilot im BCC-Feld beim Versand der Bestellbestätigung mitsenden, damit nach x Tagen eine Bewertungsaufforderung von TP an den Kunden versendet wird.

Ich habe dazu im Forum hier nur ein Modul gefunden, das aber bei allen zu vesrendenden E-Mails eine Kopie mitschickt, nicht nur beim Versand der Bestellbestätigung.

Kann ich das irgendwo einstellen oder im Code eintragen?

VG
Dieter

eine Einstellung dafür gibts nicht, aber die richtige Stelle wäre in der Funktion sendOrderEmailToUser()
und den Code kannst du aus dem erwähnten Modul nehmen

1 Like

Mal unabhängig von den technischen Dingen: Ist das im DSGVO-Zeitalter noch en vogue? Ich meine: Kann man denn noch einfach so ohne Zustimmung die Daten seiner Kunden (für die man verantwortlich ist) einfach ohne explizite Zustimmung irgendwohin beamen?

1 Like

Hallo Marat,

danke für diesen Tip.

Ich habe die erwähnte Stelle hier rausgeholt:
master/source/Core/Email.php

/**
* Does nothing, returns same object as passed to method.
* This method is called from oxEmail::sendOrderEMailToUser() to do
* additional operation with order object before sending email
*
* @param \OxidEsales\Eshop\Application\Model\Order $order Ordering object
*
* @return \OxidEsales\Eshop\Application\Model\Order
* @deprecated underscore prefix violates PSR12, will be renamed to “addUserInfoOrderEMail” in next major
*/
protected function _addUserInfoOrderEMail($order) // phpcs:ignore PSR2.Methods.MethodDeclaration.Underscore
{
return $order;
}

Wo muss ich Deine erwähnte Zeile

parent::AddBCC($bcc, $name);

einfügen und wo müsste ich die statische Adresse von Trustpilot [email protected] genau einfügen?

@Marco: Ich lasse Deine berechtigte Anmerkung gerade noch prüfen und mede mich dann.

Grüße
Dieter

ne Moment, das ist nicht die Stelle, die ich meinte.
Es muss schon sendOrderEmailToUser sein, hier ist der aktuele Code:

Die Methode _addUserInfoOrderEMail passt dafür nicht, weil direkt danach die Methode _setMailParams aufgerufen wird, die alle Empfänger löscht, siehe hier:

Somit wäre der BCC Empfänger wieder weg.
Du musst den Code vor return $this->send(); einfügen, etwa so:
(ich habe gerade in der 6.2.3 gesehen, dass AddBCC kleines a vorne hat, war früher wohl anders)

$this->setRecipient(...);
$this->setReplyTo(...);
$this->addBCC("[email protected]");

return $this->send();

Es ist unabhänig von der DSGVO Thematik noch nicht einmal erlaubt dem Kunden einen Link zur einer Bewertungsanfrage in der Bestellbestätigung zu schicken. Da es werblichen Charakter hat benötigst du die Einwilligung des Kunden (Double Opt In), dass er Werbung möchte. Es gibt da einen tollen Anwalt in Berlin, bei dem die angebliche “Kundin” in dem seiner Garage wohnt, der ist darauf spezialisiert.
Solltest du gut prüfen! Das Ergebnis ist rechtlich eindeutig, acuh wenn es technsich geht.

hallo, kannst du Bitte mir sage wie der code in der datei E-mail.php aussiehst soll ?

das habe ich doch bereit geschrieben:

Wie jetzt der code auf Email.php habe,

<?php

namespace Pflaesterer\CarbonOxid\Core;

class Email extends Email_parent
{
    public function send()
    {
        $config = \OxidEsales\Eshop\Core\Registry::getConfig();
        $bcc    = $config->getConfigParam('carbonoxid_mail_bcc_email',  \OxidEsales\Eshop\Core\Registry::getConfig()->getShopId(), 'module:carbonoxid');
        $name   = $config->getConfigParam('carbonoxid_mail_bcc_name',   \OxidEsales\Eshop\Core\Registry::getConfig()->getShopId(), 'module:carbonoxid');

        if(!filter_var($bcc, FILTER_VALIDATE_EMAIL))
        {
            $ex = oxNew(\OxidEsales\Eshop\Core\Exception\StandardException::class);
            $ex->setMessage('Not a valid email-address: "'.$bcc.'". ('.get_class($this).')'. PHP_EOL);
            throw $ex;
        }
        else
        {
            $this->setRecipient($oShop->oxshops__oxtechemail->value, "");
            $this->setReplyTo($oShop->oxshops__oxorderemail->value);
            $this->addBCC("[email protected]");
        }

        return $this->send();
    }
}


ich möchte dir frage ob alles korret ist…

nein, damit machst du den Shop kaputt

ist nicht gut weil die Methoden ganz Oben deklariert soll, meinst du,

<?php

namespace Pflaesterer\CarbonOxid\Core;

class Email extends Email_parent
{
    public function send()
    {

       $this->setRecipient($oShop->oxshops__oxtechemail->value, "");
       $this->setReplyTo($oShop->oxshops__oxorderemail->value);
       $this->addBCC("[email protected]");

        $config = \OxidEsales\Eshop\Core\Registry::getConfig();
        $bcc    = $config->getConfigParam('carbonoxid_mail_bcc_email',  \OxidEsales\Eshop\Core\Registry::getConfig()->getShopId(), 'module:carbonoxid');
        $name   = $config->getConfigParam('carbonoxid_mail_bcc_name',   \OxidEsales\Eshop\Core\Registry::getConfig()->getShopId(), 'module:carbonoxid');

        if(!filter_var($bcc, FILTER_VALIDATE_EMAIL))
        {
            $ex = oxNew(\OxidEsales\Eshop\Core\Exception\StandardException::class);
            $ex->setMessage('Not a valid email-address: "'.$bcc.'". ('.get_class($this).')'. PHP_EOL);
            throw $ex;
        }
        else
        {
            parent::AddBCC($bcc, $name);
        }

        return $this->send();
    }
}

Nur zu frage…diese stück ist gut ?

$this->setRecipient($oShop->oxshops__oxorderemail->value, $oUser->oxuser__oxusername->value );
$this->setReplyTo($oShop->oxshops__oxorderemail->value, $oUser->oxuser__oxusername->value  );
$this->addBCC("[email protected]");

ich versuche zu folge, wie hier wird gesagt…

Nein, daran liegt es nicht.
Der Code kann nicht funktionieren, weil du den Code stellenweise grundlos änderst.
Z.B. hast du deinen Code offensichtlich aus dem BCC Modul, nur hast du dann aus unbekannten Gründen die Zeile return parent::send(); durch return $this->send(); ersetzt.

Und das machst du absolut jedes mal.

kannst du Bitte hilfe mit dem probleme ?

Wobei helfen? Du hast überhaupt nicht gesagt, was du eigentlich machen möchtest.

helfe und deine code

$this->setRecipient(...);
$this->setReplyTo(...);
$this->addBCC("[email protected]");

return $this->send();

auf der Email.php implementiert…

Ich möchteBCC-Mail versenden – Bewertungsaufforderung mit Trustpilot habe.

ich Möchte Trustpilot habe, sie gebe die möglichkeit eine feste E-Mail-Adresse von Trustpilot im BCC-Feld beim Versand der Bestellbestätigung mitsenden, damit nach x Tagen eine Bewertungsaufforderung von TP an den Kunden versendet wird. Und das zu mache, brauche ich ein BBC-Mail, wie Trustpilot in ihrer Seite sagt,

ich habe das probleme gelöst, Trustpilot anbiten verschieden Möglichkeit um sie mit dem Webseite zu Verbinden,

Mit dem Option automatischen Trustpilot-Einladungen (AFS) habe alles gemach, deshalb brauche kein hilfe mehr…

Die andere möglichkeit die ich versuche habe, aber habe nicht geklabt, war mit JavaScript

Ich bedanke mich mit dir, vanilla_thunder, für deinen Untersturtz, ich wünsche dir ein schöne Tag !