Newsletter mit Mail Merge und Thunderbird verschicken

Für das Versenden von Newslettern gibt es spezialisierte Anwendungen. Möchte man kleinere Newsletter verschicken, kann man dies auch mit der freien Software Mozilla Thunderbird und dem AddOn Mail Merge bewerkstelligen.

Der Mail Merge Dialog

Der Mail Merge Dialog

Nach der Installation kann mit der Erzeugung eines Newsletters begonnen werden. Dazu wird im ersten Schritt eine neue Nachricht angelegt. Neben dem Text sollten die Empfänger in das An-Feld geschrieben werden. Wenn der Newsletter fertig ist, wählt man im Verfassen-Fenster den Menüpunkt Datei -> Mail Merge aus. Nach der Bestätigung des Dialoges, trennt Mail Merge die ursprüngliche Mail in die Empfängermails auf und packt sie in den Postausgang. Aus diesem heraus können die Mails anschließend versandt werden.

Mittels grep rekursiv unter Mac OS X suchen

Unter GNU grep gibt es den Parameter -r um rekursiv nach einer Zeichenkette im Verzeichnisbaum zu suchen. Da Mac OS X allerdings eine andere Variante von grep nutzt, funktioniert das ganze leider nicht so einfach. Stattdessen muss man folgende Befehlskette nutzen:

find . -name '*.txt' -print0 | xargs -0 grep -s -l 'Test'

Damit werden in diesem Fall alle Unterverzeichnisse nach Dateien mit der Endung .txt durchsucht. Alle gefundenen Dateien werden anschließend auf den Begriff Test durchsucht. Jede Datei in welcher der Suchbegriff vorkommt wird mit ihrem Pfad ausgeben.

MonoGame

Vor einigen Jahren brachte Microsoft das Framework XNA heraus, dessen Abkürzung für XNA’s Not Acronymed steht. Dabei handelt es sich um ein Framework welches die Spieleentwicklung vereinfacht. Mittlerweile wurde die Entwicklung seitens Microsoft allerdings eingestellt. Dazu trug sicherlich auch die Weigerung bei, das ursprüngliche XNA nicht für andere Systeme wie Android, iOS, Linux und Mac OS X anzubieten.

monogame.net

monogame.net

Da das Framework unter eine freien Lizenz veröffentlicht wurde, gibt es mittlerweile einige Forks, welche XNA weiterentwickeln. Einer dieser Forks ist dabei MonoGame. Neben der Unterstützung für weitere Plattformen, neben denen aus der Windows-Welt bekannten, wurden viele Verbesserungen des Frameworks im Lauf der Versionen eingepflegt. Lizenziert ist MonoGame unter der Microsoft Public License (Ms-PL) und damit freie Software. Die offizielle Projektwebseite ist unter monogame.net zu finden.

Probleme bei der Aktualisierung des Netzwerkes einer WordPress-Multisite-Installation

Bei einer WordPress Multisite-Installation gibt es unter Updates den Punkt Netzwerk aktualisieren. Wenn man seine Multisite-Installation mit selbstsignierten Zertifikaten betreibt, kann es dabei zu folgender Fehlermeldung kommen:

https://wordpress.example.com/mysite1

Warnung! Problem beim aktualisieren von https://wordpress.example.com/mysite1. Vermutlich gab es einen Zeitablauf. Die Fehlermeldung lautet: SSL certificate problem: self signed certificate

Um das Problem zu lösen packt man folgendes Plugin, in den WordPress-Plugin-Ordner:

<?php
/*
* Plugin Name: Deactivate SSL Verify
* Description: Deactivate SSL verification
* Author: seeseekey
* Author URI: https://seeseekey.net
* Plugin URI: https://seeseekey.net
*/
add_filter('https_ssl_verify', '__return_false');
add_filter('https_local_ssl_verify', '__return_false');

Nachdem das Plugin aktiviert wurde, kann die Aktualisierung des Netzwerkes durchgeführt werden. Anschließend kann das Plugin wieder deaktiviert werden.

Private Variablen und Eigenschaften mittels NUnit testen

Manchmal möchte man private Variablen und Eigenschaften einer Klasse mittels NUnit testen. Im Normalfall lautet die Antwort auf diese Fragestellung – Nein. Stattdessen soll nur das öffentliche Interface getestet werden. Möchte bzw. muss man trotzdem ein privates Mitglied einer Klasse testen, so muss man sich der Reflection bedienen. Das könnte dann so aussehen:

string[] lines=(string[])typeof(MyClass).GetField("Lines",BindingFlags.NonPublic|BindingFlags.Static).GetValue(null);

In diesem Fall wird sich das statische String Array Lines aus der Klasse MyClass geholt. Je nachdem, wie man die entsprechenden BindingFlags einstellt, ist es auch möglich Instanzvariablen zu ermitteln.