Jak na hromadný mailing v Drupalu s využitím Views

Seznam zákazníků. Registrovaní uživatelé. Nějaká jiná databáze kontaktů. Představte si, že všem těmto lidem potřebujete relativně jednoduše odeslat nějaký e-mail. Nebudeme řešit klasické posílání newsletterů, ale mrkneme, jak v Drupalu hromadně mailovat na adresy vyfiltrované pomocí modulu Views.

Jestliže se budeme bavit o hromadném mailování v Drupalu, pravděpodobně vám na mysli vyvstane modul Simplenews. To je sice fajn, ale tento modul je určen pro pravidelné zasílání newsletterů přihlášeným odběratelům.

Já jsem nedávno řešil jiný problém. Potřeboval jsem v souvislosti s GDPR obeslat uživatele, kteří si za několik posledních let vložili záznam do jednoho mého katalogu. Záznamy jsou vkládané přes formulář jednoho z typů obsahu, uživatelé se neregistrují, jen v rámci vkládání záznamu vyplňují do políčka svůj kontaktní e-mail.

Vyfiltrovat si takový seznam e-mailových adres, zobrazit je ve formě tabulky spolu se jmény a třeba adresami záznamů a datem jejich vložení, to je záležitost několika kliknutí ve View vytvořeném nad daným typem obsahu.

Ale opravdu se mi nechtělo ručně psát na tři stovky e-mailů nějakou zprávu. Navíc s textem, který by se měl dynamicky měnit podle toho, komu píšu. Naštěstí jsem nemusel. Nabízí se totiž komfortní řešení v podobě modulu Views Send.

Jak na Views Send a posílání mailů v Drupalu

Použití modulu je snadné. Začnete tím, že si připravíte tabulku s Views, kde v jednotlivých sloupečcích budou kromě e-mailových adres také další údaje, které potřebujete do mailu zahrnout. V mém případě to tedy bylo již zmíněné jméno člověka vkládajícího záznam, datum vytvoření a adresa záznamu.

K tomu do View přidáte pole nazvané Globální: Poslat e-mail. Tedy pole, které do Drupalu přidal modul Views Send. Objeví se jako sloupeček se zatrhovátkem. Doporučuji zrušit stránkování a zobrazit všechny záznamy najednou, pokud je to reálné.

Drupal a Views Send

View uložte, načtěte si stránku s ním a zaklikněte všechny nebo vybrané záznamy. Pod výpisem najdete tlačítko Poslat e-mail. Přesune vás na další stránku s formulářem, kde nastavíte podobu e-mailu.

Drupal a Views Send

Na zadání tu čeká:

  • Jméno a e-mail odesilatele – tyto údaje se předvyplní z nastavení informací o webu
  • V sekci Příjemci vyberete jméno a e-mail. V rozbalovačkách jsou na výběr políčka, která jste přidali do View.
  • Pak vyplníte předmět a tělo e-mailu. Oboje podporuje tokeny, takže například do těla e-mailu dostanete jakékoli z polí, které ve View zobrazujete.

U e-mailu lze dále nastavit vyžadování doručenky, prioritu a další hlavičky. Nastavíte zpracování pomocí dávky (Batch API) a přesunete se na další stránku.

Ta je trošku matoucí, protože u náhledu zprávy zobrazuje seznam příjemců, jako kdybyste se je chystali dát všechny do viditelné kopie mailu. Nemusíte se ale bát, každému příjemci se pošle samostatný mail.

Views Send je tedy rychlý nástroj, jak odeslat e-maily na adresy uložené kdekoli v Drupalu. Stačí, abyste je dovedli vyfiltrovat pomocí Views.

Jak jsem se mořil s e-mailovou adresou

Na závěr ještě pár slov k tomu, jak se snažil vytvořit e-mailovou schránku pro odeslání pošty. Web, ze kterého jsem mailoval, neměl svou vlastní adresu. Pro komunikaci jsem používal svůj e-mail na jiné doméně. Instalovat poštovní server se mi nechtělo, zároveň jsem ale usoudil, že by bylo lepší, kdyby maily odešly a následně přijaly odpověď na adrese info@domena.

Vytvářet schránku na vlastní doméně u Google nebo Outlook.com mi přišlo komplikované, zkusil jsem tedy stejnou službu od Seznamu. Vytvoření schránky na mojedomena.seznam.cz je velmi jednoduché a chvíli po změně DNS začne fungovat.

Problém je v nemožnosti používat SMTP ze zahraničních IP adres. V Drupalu jsem použil modul SMTP, který maily odešle právě přes SMTP schránky, čili jako běžný poštovní klient. Server s webem je však ve Frankfurtu a na SMTP u Seznamu se nebyl schopen připojit.

S velkou vděčností jsem tedy využil toho, že můj registrátor domény Web4U nabízí ke každé doméně bezplatný hosting i e-mailovou schránku info@. To mi bohatě stačilo, hosting s tarifem Vizitka jsem aktivoval, přičemž v DNS jsem web nechal směřovat stále na svůj server. Připojení na SMTP proběhlo naprosto bez problémů a já poslal všechny e-maily tak, jak jsem potřeboval.

Tip: Vyzkoušejte si doručitelnost svých zpráv pomocí nástroje Mail Tester, o kterém jsem na Maxiorlovi před nějakou dobou psal.

Buďme ve spojení, přihlaste se k newsletteru

Odesláním formuláře souhlasíte s podmínkami zpracováním osobních údajů. 
Více informací v Ochrana osobních údajů.

Autor článku: Jan Polzer

Tvůrce webů z Brna se specializací na Drupal, WordPress a Symfony. Acquia Certified Developer & Site Builder. Autor několika knih o Drupalu.
Web Development Director v Lesensky.cz. Ve volných chvílích podnikám výlety na souši i po vodě. Více se dozvíte na polzer.cz a mém LinkedIn profilu.

Komentáře k článku

Přidat komentář

Odesláním komentáře souhlasíte s podmínkami Ochrany osobních údajů

reklama
Moje kniha o CMS Drupal

 

Kniha 333 tipů a triků pro Drupal 9


Více na KnihyPolzer.cz

Sledujte Maxiorla na Facebooku

Maxiorel na Facebooku

Hosting pro Drupal a WordPress

Hledáte český webhosting vhodný nejenom pro redakční systém Drupal? Tak vyzkoušejte Webhosting C4 za 1200 Kč na rok s doménou v ceně, 20 GB prostoru a automatické navyšováním o 2 GB každý rok. Podrobnosti zde.

@maxiorel na Twitteru

Maxiorel na Twitteru