Gruniversal Blog

Technisches und Persönliches

Monat: Mai 2020

PHP Mails lokal loggen

Für ein PHP Projekt wollte ich kürzlich prüfen, welche Mails die Anwendung verschickt. Es ging nur um ein kleines Detail und daher wollte ich keine aufwändige Mailkonfiguration aufbauen, sondern einfach nur den Quellcode der Mails in eine Logdatei schreiben.

Nachdem ich mich zunächst bei sendmail umgesehen habe, ohne eine passenden Parameter zu finden, der die Mails nur in die Queue packt ohne sie aber zu versenden, bin ich dann in einem Blog auf eine einfache Lösung gestoßen.

Dazu hab ich einfach folgendes Script erstellt und ausführbar gemacht:

#!/usr/bin/php
<?php
  $logfile = '/var/log/phpmail.log';
  $log_output = "****" . date('Y-m-d H:i:s') . "****\n";
  $handle = fopen('php://stdin', 'r');
  $count = 0;
  while(!feof($handle)) {
    $count++;
    $buffer = trim(fgets($handle));
    if ($count <= 12) # Output header information
      $log_output .= $count . ": " . $buffer . "\n";
    else # Output body
      $log_output .= $buffer . "\n";
  }
  file_put_contents($logfile, $log_output, FILE_APPEND);
?>

Damit es beim “Senden” einer Mail ausgeführt wird, reicht eine einfache Anpassung in der php.ini des Apache:

$ sudo vim /etc/php/7.2/apache2/php.ini
; send mail to /var/log/phpmail.log
sendmail_path = /path/to/phpmail

Das wars schon. Mehr ist nicht notwendig und ab sofort kann man den Mailinhalt leicht aus der phpmail.log herauslesen, z.B. mit tail:

$ tail -f /var/log/phpmail.log

Mein Problem war in 10 Minuten gelöst. Danke Internet! :)

Matomo Consent vs. Opt-Out

Ich engagiere mich im Moment ehrenamtlich für die Webseite eines Vereins und stand in diesem Zusammenhang vor der Aufgabe das Webanalysetool Matomo Analytics datenschutzkonform in die bestehende WordPress Instanz einzufügen.

Über Matomo soll das Verhalten der Nutzer auf Basis anonymisierter Daten analysiert werden um die Verwendung der Seite besser zu verstehen und dann entsprechend Ansatzpunkte für eine Verbesserung der Website zu gewinnen.

Matomo bietet grundsätzlich zwei verschiedene Wege um abhängig vom Einverständnis des Nutzers das Tracking zu steuern: Opt-Out und Consent.

Doch was ist der Unterschied und welcher Weg ist der bessere?

Weiterlesen

Präsentiert von WordPress & Theme erstellt von Anders Norén