markocupic/be_email

Send emails from the Contao backend. Backend extension for the Contao Open Source CMS

Installs: 524

Dependents: 0

Suggesters: 0

Security: 0

Stars: 3

Watchers: 2

Forks: 0

Open Issues: 0

Type:contao-bundle

3.4.1 2022-08-29 20:26 UTC

README

Alt text

Contao Backend E-Mail

Contao E-Mail Erweiterung für den Versand von Nachrichten aus dem Contao Backend. In den Contao Einstellungen kann definiert werden, woher das Adressbuch seine Adressen zieht. Entweder tl_member oder tl_user oder aus beiden Tabellen.

Backend

Kompatibilität

Die Version 3.3 ist nur zu Contao >=4.9 kompatibel.

Viel Spass mit Contao Backend E-Mail!

beEmailBeforeSend Hook

Mit dem beEmailBeforeSend-Hook können die beiden Objekte vor dem Versand manipuliert werden. Dazu muss eine Contao Hook Klasse geschrieben werden.

Damit der Hook via Annotation registriert wird, muss er in der services.yml registriert werden.

# services.yml
services:
    _defaults:
        autowire: true
        autoconfigure: true
        public: true

    Vendorname\App\:
        resource: ../../
        exclude: ../../{DependencyInjection,Resources,Model,Widget}

Die Hook-Klasse könnte ungefähr so aussehen. Der Hook erwartet drei Parameter und keinen Rückgabewert.

<?php

namespace Vendorname\App\Listener\ContaoHooks;

use Contao\CoreBundle\ServiceAnnotation\Hook;

/**
 * @Hook("beEmailBeforeSendHook")
 */
class BeEmailBeforeSendHook
{
    /**
     * !!!Important
     * For manipulating data first and second parameter should be passed by reference!
     * @param $objEmail
     * @param $beEmailModel
     * @param $dc
     */
    public function __invoke(&$objEmail, &$beEmailModel, $dc)
    {
        // f.ex. manipulate sender email address
        $objEmail->from = 'foo@myhost.com';

        // f.ex. manipulate content
        $objEmail->text = 'bla bla!!';
        $objEmail->html = 'bla bla!!';
    }

}