Für Menschen · Seien Sie begeistert und Sie werden begeistern !
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ü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’s email from.
Version: 0.1
Author: Frank Bü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.
bueltge.de [by:ltge.de] wird von Frank Bültge geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.
Das Weblog wird angetrieben von WordPress und aktuell gibt es 980 Beiträge, 18722 Kommentare in 14 Kategorien und 464 Tags.
Das Blog wird liebevoll mit xHTML & CSS in Handarbeit gestaltet. Erstellt mit ♥ zum Befüllen und Erhalten.
Design und Code ist unter Copyright
© 2001 - 2012 bueltge.de [by:ltge.de]
11. August 2009 um 10:27
In meinem Blog nutze ich dazu ein Plugin von Andrew Hamilton. Es heißt MailFrom und macht genau dasselbe
Laut Pluginbeschreibung funktioniert es nur bis WP2.7, bei meiner 2.8.3-Installation bereitet es aber keine Probleme
11. August 2009 um 10:40
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ß
11. August 2009 um 10:48
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.
11. August 2009 um 10:54
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?
11. August 2009 um 11:30
Ja, in dem Fall hast du recht und wenn man mit mehreren Nutzern arbeitet.
11. August 2009 um 11:55
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ß
11. August 2009 um 12:17
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.
11. August 2009 um 12:34
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ß.
13. August 2009 um 18:28
Hallo Frank,
in den Kommentar Emails wird auch mit wordpress@ versendet. Funktioniert Dein Plugin über das ganze WordPress?
13. August 2009 um 18:43
Ja, der Zugriff dieser Hooks ändert das.
13. August 2009 um 18:45
Super, danke für das schnelle Feedback
17. August 2009 um 12:37
Danke, funktioniert alles super. endlich steht da der richtige Absender.
19. August 2009 um 21:37
@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"
19. August 2009 um 21:49
@frank, sorry ich habe vergessen, dass es nur so ist, wenn ich als Admin im Login auf einen Kommentar antworte. Gruss Peter2
20. August 2009 um 09:23
@peter2: dann kommen wieder die anderen beiden Funkionen ins Spiel, eine der beiden ist doch direkt für diese Mails zu Kommentaren zuständig.
20. August 2009 um 10:48
@frank, dankeschön! War mir nur nicht ganz klar, aber jetzt. Gruss Peter2
5. November 2009 um 13:20
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
15. Februar 2012 um 13:01
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.