# Alternative E-Mail Vorlagen per Plugin

**URL:** <https://forum.shopware.com/t/alternative-e-mail-vorlagen-per-plugin/50288>\
**Category:** Programmierung\
**Created:** [5. Januar 2018 um 10:47 UTC](https://forum.shopware.com/t/alternative-e-mail-vorlagen-per-plugin/50288 "2018-01-05T10:47:59Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![ROBjkE7](https://avatars.discourse-cdn.com/v4/letter/r/5daacb/32.png) [@ROBjkE7](https://forum.shopware.com/u/ROBjkE7)\
**Post date:** [5. Januar 2018 um 10:47 UTC](https://forum.shopware.com/t/alternative-e-mail-vorlagen-per-plugin/50288/1 "2018-01-05T10:47:59Z")

</div>

Hallo Leute,

&nbsp;

ich würde gerne Alternative E-Mail Vorlagen als Plugin Bereitstellen.&nbsp;

&nbsp;

Hat jemand Erfahrungen/Dokumentationen die mir weiterhelfen? Zb wie ich am besten vorgehe.&nbsp;

---

<div class="post-metadata">

**Author:** ![waldicom](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/waldicom/32/12881_2.png) [@waldicom](https://forum.shopware.com/u/waldicom)\
**Post date:** [5. Januar 2018 um 15:04 UTC](https://forum.shopware.com/t/alternative-e-mail-vorlagen-per-plugin/50288/2 "2018-01-05T15:04:57Z")

</div>

Beim Installieren des Plugin kann man eigene Email Vorlgaen erstellen.  
Könnte&nbsp;etwa so aussehen:

```
 $templateName = 'HIER\_DER\_NAME\_DEINER\_VORLAGE'; if (!$this-\>existsMailTemplateAlready($templateName)) { $plainContent = file\_get\_contents($this-\>getPath() . '/mail/plain.txt'); // hier ist der Text der Vorlage $emailTemplate = new Mail(); $emailTemplate-\>setName($templateName) -\>setSubject('BETREFF') -\>setFromMail('{config name=mail}') -\>setFromName('{config name=shopName}') -\>setIsHtml(false) -\>setContent($plainContent) -\>setMailtype(Mail::MAILTYPE\_USER); Shopware()-\>Models()-\>persist($emailTemplate); Shopware()-\>Models()-\>flush($emailTemplate); } 

```

&nbsp;

```
 private function existsMailTemplateAlready($mailTemplateName) { $mailTemplate = Shopware()-\>Models()-\>getRepository(Mail::class) -\>findOneBy(array('name' =\> $mailTemplateName)); return $mailTemplate; }
```
