Sidebar
ein-/ausblenden

Standard E-Mail Absender von WordPress ändern

Plugin für WordPress SEO

Anzeige

WordPress erlaubt es einfach und schnell neue Nutzer im Backend anzulegen. Dabei wird seit Version 2.8 von WordPress der Zugang optional per E-Mail versandt. Eine schöne Funktionen, die man nur leider nicht in den Einstellungen so weit ändern kann, dass ein Absender gesetzt ist, den man als Administrator möchte; es ist immer WordPress, der die Mails verschickt.

Trotzdem gibt es dazu eine Möglichkeit und mit Hilfe von zwei Hooks kann hier der Absender geändert werden. Ich habe ein kleines Plugin dazu erstellt, so dass man einfach und unkompliziert den Absender-Namen und die Absender-E-Mail beeinflussen kann.
-
Das Plugin ist im folgendem als Quellcode verfügbar und hat keinerlei Optionen, die über einen Maske eingestellt werden und legt auch keine Daten in der Datenbank an. Wer das möchte, bitte einfach das Plugin erweitern. Für meine Anforderungen genügt es so.


<?php
/**
 * @package Change Mail From in WordPress 
 * @author Frank B&uuml;ltge
 * @version 0.1
 */
 
/*
Plugin Name: Change Mail From in WordPress
Plugin URI: http://bueltge.de/
Description: Change the default address that WordPress sends it&rsquo;s email from.
Version: 0.1
Author: Frank B&uuml;ltge
Author URI: http://bueltge.de/
Last Change: 11.08.2009 01:41:06
*/

if ( !function_exists('add_action') ) {
	header('Status: 403 Forbidden');
	header('HTTP/1.1 403 Forbidden');
	exit();
}

if ( !class_exists('wp_mail_from') ) {
	class wp_mail_from {
		
		function wp_mail_from() {
			add_filter( 'wp_mail_from', array(&$this, 'fb_mail_from') );
			add_filter( 'wp_mail_from_name', array(&$this, 'fb_mail_from_name') );
		}
		
		// new name
		function fb_mail_from_name() {
			$name = 'bueltge.de [by:ltge.de]';
			// alternative
			// $name = get_option('blogname');
			$name = esc_attr($name);
			return $name;
		}
		
		// new email-adress
		function fb_mail_from() {
			$email = 'frank@bueltge.de';
			$email = is_email($email);
			return $email;
		}
		
	}
	
	$wp_mail_from = new wp_mail_from();
}
?>

Die Werte für Name und E-Mail sind direkt zu den Variablen zu pflegen, jeweils in der zugehörigen Funktion. Im Anschluss werden beide Werte durch entsprechende Funktionen geprüft, was man in dem Fall nicht unbedingt benötigt; soll eher an diese Möglichkeiten in WordPress erinnern.

Als Hinweis: die Funktion esc_attr() steht erst seit Version 2.8 zur Verfügung und ersetzt die Funktion attribute_escape(). Sollte man die Lösung also in einer älteren Version benötigen und den Filter nutzen wollen, dann die Funktion ändern.

Für Hinweise und Verbesserungen bin ich wie immer dankbar. Eine Plattform mit WordPress kann mit Hilfe dieser Möglichkeit sicher ein wenig verbessert werden und die User wundern sich nicht über den Absender WordPress.

18 Kommentare zu „Standard E-Mail Absender von WordPress ändern“

  1. 1
    Kommentar von Alviond

    In meinem Blog nutze ich dazu ein Plugin von Andrew Hamilton. Es heißt MailFrom und macht genau dasselbe :D
    Laut Pluginbeschreibung funktioniert es nur bis WP2.7, bei meiner 2.8.3-Installation bereitet es aber keine Probleme

  2. 2
    Kommentar von Andreas

    Vielen Dank für den Hinweise. Habe dazu noch das gefunden:

    http://stadt-bremerhaven.de/wordpress-2-8-3-admin-password-reset-exploit-schwere-sicherheitsluecke/

    Geht offenbar in die selbe Richtung...

    Gruß

  3. 3
    Kommentar von Frank Bültge

    Naja, eigentlich nicht. Meine Lösung ist dazu da, dass der Absender angepasst werden kann, er fixt nicht die Lücke aus diesem Beitrag und hat auch damit nichts zu tun.

  4. 4
    Kommentar von Andreas

    OK - dann sind das wohl zwei Baustellen. ABER: Beide nur dann relevant, wenn man das Posten bzw. Nutzeranlegen per Mail zulässt. Sonst nicht... Oder?

  5. 5
    Kommentar von Frank Bültge

    Ja, in dem Fall hast du recht und wenn man mit mehreren Nutzern arbeitet.

  6. 6
    Kommentar von Andreas

    Vielen Dank. Sorry, muss noch mal fragen: was heißt "und wenn man mit mehreren Nutzern arbeitet"? Sind in dem Zusammenhang unter NUTZERN auch registrierte Leser zu verstehen? Oder NUR Nutzer höherer Rangordnung, etwa MITARBEITER. Und gilt das auf beiden Baustellen...

    Wie muss die php-Datei denn heißen? wp_mail_from.php?

    Gruß

  7. 7
    Kommentar von Frank Bültge

    Egal wie, weil jeder Nutzer im System Mails erhalten kann, wo der Absender WordPress ist. Der Name der Datei ist egal, da es im Plugin-Ordner abgelegt, durch die Kommentare als Plugin erkannt wird.

  8. 8
    Kommentar von Andreas

    Jetzt hat es auch der "Laie" verstanden. Es sollte also JEDER, der Kommentare zulässt, Dein Plugin (o. ä.) einbauen, WENN er nicht will, dass WP.com das Pw verschickt. Vielen Dank. Zur o. g. Sicherheitslücke wird sicher bald etwas im Forum zu finden sein. Gruß.

  9. 9
    Kommentar von Ivan

    Hallo Frank,
    in den Kommentar Emails wird auch mit wordpress@ versendet. Funktioniert Dein Plugin über das ganze WordPress?

  10. 10
    Kommentar von Frank Bültge

    Ja, der Zugriff dieser Hooks ändert das.

  11. 11
    Kommentar von Ivan

    Super, danke für das schnelle Feedback ;)

  12. 12
    Kommentar von Max Lang

    Danke, funktioniert alles super. endlich steht da der richtige Absender.

  13. 13
    Kommentar von peter2

    @frank,
    das funktioniert ja gut. Nur eine kleine Sache, vielleicht hab ich ja was falsch gemacht. Bei mir wird nun der Name meines Servers mit angezeigt. "vorkassen.de [by:vorkassen.de]@elkotech02.virtualhosts.de"

  14. 14
    Kommentar von peter2

    @frank, sorry ich habe vergessen, dass es nur so ist, wenn ich als Admin im Login auf einen Kommentar antworte. Gruss Peter2

  15. 15
    Kommentar von Frank Bültge

    @peter2: dann kommen wieder die anderen beiden Funkionen ins Spiel, eine der beiden ist doch direkt für diese Mails zu Kommentaren zuständig.

  16. 16
    Kommentar von peter2

    @frank, dankeschön! War mir nur nicht ganz klar, aber jetzt. Gruss Peter2

  17. 17
    Kommentar von Monika

    Hi Frank, im Admincenter sieht man , dass man das Plugin erneuern sollte, dann kommt aber ein völlig anderes Plugin ..bitte ändere den Namen deines Plugins sonst sind einige höchst verwirrt

    lg Monika

  18. 18
    Kommentar von Hans-Peter

    Wenn man diesen Code in Verbindung mit dem "Contact Form 7" Plugin einsetzt, dann wird die Absender-Adresse ebenso angepasst.
    Was natürlich ärgerlich ist, da die Absender-Adresse so verloren geht.
    Kurzfistige Abhilfe erreicht man, wenn der Absender-Tag (z.Bsp. Absender: [your-email]) "losgelöst" im Nachrichtentext gesetzt wird.

Kommentare sind geschlossen.