WordPress Snippet: Alle Mails loggen

Geschrieben von Igor Scheller am 27. Juli 2016

Ein kleines Snippet um alle Mails in das Default Error Log zu schreiben (meistens /var/log/apache2/error.log oä.)

<?php
/*
Plugin Name: Mail > log
Plugin URI: https://igorshp.de/2016/07/wordpress-mails-loggen/
Description: This Plugin writes all mails to the default log file
Author: Igor Scheller <igor.scheller@igorshp.de>
Version: 1.0.0
Author URI: https://igorshp.de/
*/

if (!function_exists('wp_mail')) :

    function wp_mail($to, $subject, $message, $headers = '', $attachments = [])
    {
        $data = [
            'to'          => $to,
            'subject'     => $subject,
            'message'     => $message,
            'headers'     => $headers,
            'attachments' => $attachments,
        ];

        $message = sprintf(
            'New Mail: %s',
            json_encode($data)
        );

        error_log($message, 0);

        return true;
    }
endif;

Das Snippet einfach als wp-content/plugins/maillog.php speichern und das Mail > log-Plugin aktivieren, von nun an werden alle Mails die über die wp_mail-Funktion versendet werden ins Log geschrieben.

Sollen die Mails in eine Datei geschrieben werden, einfach die Zeile error_log($message, 0); mit error_log($message, 3, __DIR__ . '/../../mail.log'); austauschen, dadurch kannst du sie über domain.tld/mail.log aufrufen.
Aber Achtung: Dies sollte NIE auf einem Produktivsystem aktiviert werden: Die Maillogs sind dadurch !ÖFFENTLICH! erreichbar!

Shorturl Kategorie: Programmieren Tags:

Über Igor Scheller

Kontakt: Twitter Facebook Google+

Über mich gibt es nicht viel zu sagen ;) Ich bin Technikbegeistert, mich interessiert eigentlich alles was irgendwie etwas mit Computern, Elektronik, Programmieren und Technik zu tun hat, und manchmal schreibe ich auch darüber. Wenn du mehr wissen wilst, kannst du es mir ja Mailen :D (Oder in die Kommentare schreiben (oder per Snailmail senden))

Es sind leider keine Kommentare vorhanden

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.