Nieuwsbrieven

Leseenheid

Moeilijkheidsgraad

4

Een nieuwsbrief behoort tot de noodzakelijke tools van een moderne website. Drupal heeft er eentje die bijna een monopolie positie inneemt: Simplenews. We gaan in 2 stappen werken. Eerst gaan we de nieuwsbrieven laten werken en daarna gaan we de opmaak (templates) voor  de nieuwsbrieven aanpakken.

Installeren…

 

Neem er ook Mime Mail bij. Voor tekst heb je enkel SMTP nodig (Simple Mail Transport Protocol), maar voor audio, video,  afbeeldingen, programma’s,…  heb je MIME mail nodig (Multi-Purpose Internet Mail Extensions)

Je hebt ook nog Mail system nodig:

Installeer ook de vertalingen. Zoveel plezanter...

Dit overzicht krijg je bij de modules.

Simplenews rules heb je niet nodig.

Ga eens kijken naar de instellingen van Simplenews. Er zijn 3 tabbladen...

Ik vul een e-mail adres in dat ik nog later ga aanmaken.(hier werk ik met Xammp. Van op een server neem je gewoon een ander adres)

Maak ook dat er HTML als formaat staat, anders hebben je mails geen opmaak.

Zet ook bij de andere modules de juiste instellingen:

Ook de manier van verzenden is van belang. Cron komt van chronometer en is een soort taak die op bepaalde tijdstippen wordt uitgevoerd. Dit is bvb nodig om niet alle mails tegelijkertijd te verzenden. Dit zou de mailserver overbelasten. Cron zorgt voor pauzes.

Je ziet dat we cron gebruiken om de mails te verzenden. Test niewsbrieven worden wel onmiddellijk verzonden. De andere wachten op een cron! Voer die desnoods manueel uit.

Nu beginnen we met een nieuwe categorie te maken. We noemen ze kortingen.

Tijdens het instellen kan je de mogelijkheid bepalen hoe een gebruiker kan inschrijven:

Nu krijg je dit te zien… Kortingen werd als categorie aangemaakt.

Via inhoud toevoegen => Simplenews maak je een test nieuwsbrief aan.

We zenden dit naar ons als test.

Als je een echte hosting gebruikt dan kan je de ingesprongen informatie overslaan.

Soms krijg je dit. Dit komt omdat de afzender niet gelinkt is met een domeinnaam. Daarom is het beter om bvb info@drupalisfun.com als afzender te gebruiken.

Als je werkt met Xampp wordt dit naar de map mailoutput in de root gezonden.

Het resultaat in txt formaat. Dit is teleurstellend,  maar we werken op Xampp en dan nog de portable versie. Die heeft geen Mailserver zoal Mercury. Straks gaan we daar een mouw aanpassen…

 

Bij inhoud kan je de status van de nieuwsbrieven volgen.

We kunnen ook een view toevoegen om de nieuwsbrieven te tonen op de site.

Voeg desnoods een veld bij, zodanig dat je de inhoud ook ziet..

Het resultaat:

We kunnen ook een blok  maken om in te schrijven voor de nieuwsbrief.  Bij de blokken staat het aangemaakt maar niet actief. Plaats het blok waar je wil.

Je kunt voor alle brieven laten inschrijven of enkel per categorie:

Maak dat dit enkel getoond wordt bij het type nieuwsbrieven…

Bij de rechten van de gebruikers zie kan je iedereen laten inloggen…

Het resultaat als blok in de zijbalk:

En als deel van de inhoud… Een blok kan je in Drupal ook aan de inhoud toevoegen.

Je kunt ook inschrijven op één categorie. Je kiest simpelweg het blok dat automatisch werd aangemaakt:

Als je wilt inloggen (nadat je de rechten hebt ingesteld.), krijg je een bevestigingsmail:

Je krijgt een link om op te klikken.

De vertalingen kunnen ook aangepast worden. De beschrijving kies je zelf. (Hier laat ik ze weg) Daarna ga ik naar het bestandje subscription.inc en ik vervang de Engelstalige knopinfo.

In dit bestand kan je de resterende termen vertalen:

Het resultaat:

Je kunt nu dit blok toekennen aan pagina's om deze al dan niet te laten verschijnen. Een inhoudstype zou gaan ware het niet dat een view daarmee geen rekening houdt. Toewijzen aan pagina's (bvb nieuwsbrieven/*) lukt wel. De view zou dan nieuwsbrieven heten, elke nieuwsbrief moet dan een URL hebben zoals nieuwsbrieven/brief1... De URL moet dus een pad hebben met nieuwsbrieven in.

Als je een echte hosting gebruikt dan kan je de ingesprongen informatie overslaan.

Bij gebruik van het formulier om in te schrijven, (Opgepast, als je ingelogd bent zie je iets anders !) wordt er hier een bevestigingsmail verzonden naar ons mailmapje.(omdat we mat Xampp lite werken) Kopieer en plak de code in je browser om te activeren.

Je krijgt nog een bevestiging:

In de database kan je nu controleren of de gebruiker er inderdaad staat en geactviveerd werd.

Als je nu de nieuwsbrief effectief verzendt naar de ingeschreven leden, dan zal hij deze verzenden met een tussenpauze. Even geduld dus. Hij is ‘pending’ tot het bericht komt dat het ‘send’ is.

Via inhoud zien we nu de nieuwe status:

OK. De eerste stap werd gezet. We hebben een nieuwsbriefsysteem dat werkt, maar de opmaak trekt nog op niets.. Als we met opmaak willen werken en bvb templates voor de nieuwsbriefwillen maken, dan moeten we ook afstappen van dit .txt bestandje dat wordt aangemaakt in plaats van een echte mail te krijgen.

Als je een echte hosting gebruikt dan kan je de ingesprongen informatie overslaan.

We werken nu lokaal met Xampp portable light zonder Mercury. Hadden we de full Xampp geïnstalleerd, dan was dit reeds aanwezig, maar deze full versie is echter niet zo compatibel met USB sticks.  Wat nu volgt is dus een systeem aanmaken dat toelaat om zonder internet mails te zenden en ontvangen zonder internet!  Daarvoor hebben we een lokale server nodig (Mercury) en een lokaal mailprogramma (bvb outlook express of thunderbird)

We beginnen met Mercury. We gaan de map die bij de full versie voorkomt (zit in de unzip) nu aanbrengen in onze portable versie.

Ga nu in de root de xampp-control aanpassen dat Mercury op 1 staat (actief)

In de map van Mercury, kijk je op de verwijzing naar het juiste station verwijst. Hier heb ik alle C: vervangen naar F: met de vervangtool..

Nu zou je Mercury moeten kunnen activeren in de Xampp:

Als je klikt op admin in het xampp paneel krijg je schrikwekkend veel dialoogvensters. Blijf rustig. De meesten staan goed.  Om te kunnen mailen gaan we eerst een mail account aanmaken. Ik gebruik hier mijn naam, natuurlijk.

Je krijgt hierdoor automatisch een mailadres dirk@localhost (zonder.be of .com!).

Bij de admin van Apache vind je bij php.ini de mailfunctie die je moet wijzigen. De SMTP en de poort moet worden geactiveerd én de mogelijkheid om naar de map te schrijven moet worden gedeactiveerd. 2 zaken wijzigen dus.

Vanaf nu gaan de mails niet meer naar de mailoutput map maar naar een mailprogramma dat daarvoor wordt ingesteld. Daarvoor gaan we nu Thunderbird installeren. Een simpel mailprogrammaatje. Installeer het vanuit internet.

We vinken alles af, want we willen onze standaard mailprogramma als standaard houden.

We voegen nu in Thunderbird onze account toe. Klik op ‘Dit overslaan en mijn bestaand e-mail adres gebruiken’.

 

Vul de gegevens in als volgt: (je ziet een waarschuwing omdat dit geen ‘normaal’ mail adres is). Outlook pikt zo’n adressen trouwens niet en daarvoor moet je dan een alias gebruiken.

Zend eens een berichtje naar jezelf (verzeker je eerst dat je xampp Mercury aanstaat!)

Het werkt toch wel zeker.. ;-)

Ook mails vanuit de admin van Mercury moeten nu hier toekomen. We zenden van hieruit ook nog een mail om alles te testen.

Laat een mail van de e-mail administrator naar jou komen:

Denk nu niet dat je naar een extern adres kunt mailen van hieruit. Dit gaat enkel als je de SMTP gegevens van een hosting kunt gebruiken. Als je dit kunt, dan moet je per definitie geen Xampp gebruiken en geen Mercury, vind ik! Wij gebruiken dus onze mails enkel lokaal, zoals het hoort met Xampp.

Tijd om een template te maken voor onze nieuwsbrieven… Nu is Drupal daar niet bepaald gebruiksvriendelijk in.. De template ontwerpen (is veel gezegd want ze moeten nog gevuld worden met je opmaak) vind je hier:

Kopieer ze naar de map van je thema waar je mee werkt. Hier heb ik 2 van de bestanden gebruikt.

Maak ook dat je een thema aanduidt. Laten staan op 'huidige' werkte bij mij niet...

Open het nu bodybestand met bvb Notepad++ en schrijf iets als test. De afbeelding moet je wel het volledig pad geven vanaf de http... (Troekmetdedoif… Maak een ontwerp zoals voor een artikel en plak de code in de template.) Kan je deze code verklaren?

in de footer het ik wat gefooterd...

Test nu uit:

Het resultaat.

Je kunt nu nieuwsbrieven versturen en opmaken. Toegegeven het is wel directe opmaak... Niet Drupal achtig... Normaal moet je een apart mail.css bestand bij je thema leggen en van daaruit werken...'t zal al gaan zekers.....