| |||||||
| Registrieren | Lexikon | Hilfe | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
![]() |
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| PostRank: 3 ![]() Registriert seit: 24.07.2005
Beiträge: 136
| PHP mail() und HostEurope Hi, an irgend einer Sicherheitsenstellung bei HostEurope (wo allem meine WP-Blogs und Foren laufen) liegt es, dass Mails mit phpmail() nicht verschickt werden. Ich habe schon alle möglichen Plugins ausprobiert. Kennt sich irgend jemand soweit aus, dass er mir sagen kann, was das für eine Sicherheitseinstellung sein kann und wie ich die deaktiviere/umgehe? |
| | |
| | #2 (permalink) |
| PostRank: 8 ![]() Registriert seit: 19.01.2006
Beiträge: 840
| Die Suchfunktion des Forums hätte hier wohl auch schon weiterhelfen können: Keine E-Mail Benachrichtigung bei neuen Kommentaren. Alternativ auch die (zugegebenermaßen nicht ganz so übersichtliche) FAQ bei Hosteurope Geändert von spickzettel (08.03.2007 um 17:50 Uhr). |
| | |
| | #3 (permalink) |
| PostRank: 3 ![]() Registriert seit: 24.07.2005
Beiträge: 136
| Danke für den Hinweis. Das Problem ist, dass ich eine alte KIS-Version in meinem Paket habe, die auch nicht aktualisiert wird (weil es ein Gratis-Presseaccount ist). Daher gibt es im Skripte-Menü die Einstellungsmöglichkeit nicht. Wie kann ich den Parameter "-f absender@hier-bitte-ihren-domainnamen-einsetzen.de" denn innerhalb von Wordpress an das php_mail() übergeben? Bzw. in welcher Datei muss ich das Skript modifizieren? |
| | |
| | #4 (permalink) |
| PostRank: 3 ![]() Registriert seit: 24.07.2005
Beiträge: 136
| Ich hab die Angabe mittlerweile (in wp-includes/pluggable.php) entdeckt: Code: if ( !function_exists( 'wp_mail' ) ) :
function wp_mail($to, $subject, $message, $headers = '') {
global $phpmailer;
if ( !is_object( $phpmailer ) ) {
require_once(ABSPATH . WPINC . '/class-phpmailer.php');
require_once(ABSPATH . WPINC . '/class-smtp.php');
$phpmailer = new PHPMailer();
}
$mail = compact('to', 'subject', 'message', 'headers');
$mail = apply_filters('wp_mail', $mail);
extract($mail, EXTR_SKIP);
if ( $headers == '' ) {
$headers = "MIME-Version: 1.0\n" .
"From: " . apply_filters('wp_mail_from', "wordpress@" . preg_replace('#^www\.#', '', strtolower($_SERVER['SERVER_NAME']))) . "\n" .
"Content-Type: text/plain; charset=\"" . get_option('blog_charset') . "\"\n";
}
$phpmailer->ClearAddresses();
$phpmailer->ClearCCs();
$phpmailer->ClearBCCs();
$phpmailer->ClearReplyTos();
$phpmailer->ClearAllRecipients();
$phpmailer->ClearCustomHeaders();
$phpmailer->FromName = "WordPress";
$phpmailer->AddAddress("$to", "");
$phpmailer->Subject = $subject;
$phpmailer->Body = $message;
$phpmailer->IsHTML(false);
$phpmailer->IsMail(); // set mailer to use php mail()
do_action_ref_array('phpmailer_init', array(&$phpmailer));
$mailheaders = (array) explode( "\n", $headers );
foreach ( $mailheaders as $line ) {
$header = explode( ":", $line );
switch ( trim( $header[0] ) ) {
case "From":
$from = trim( str_replace( '"', '', $header[1] ) );
if ( strpos( $from, '<' ) ) {
$phpmailer->FromName = str_replace( '"', '', substr( $header[1], 0, strpos( $header[1], '<' ) - 1 ) );
$from = trim( substr( $from, strpos( $from, '<' ) + 1 ) );
$from = str_replace( '>', '', $from );
} else {
$phpmailer->FromName = $from;
}
$phpmailer->From = trim( $from );
break;
default:
if ( $line != '' && $header[0] != 'MIME-Version' && $header[0] != 'Content-Type' )
$phpmailer->AddCustomHeader( $line );
break;
}
}
$result = @$phpmailer->Send();
return $result;
}
endif;
Am liebsten wäre mir natürlich, dass ich die Mailadresse nicht direkt in die php-Datei schreiben muss, sondern er sie sich aus der Variable, die ich unter Einstellungen>Allgemein angegeben habe, holt. |
| | |
| | #6 (permalink) |
| PostRank: 10 ![]() Registriert seit: 21.10.2006
Beiträge: 2.101
| Mal wieder ein Fall für die my-hacks.php Also im WP-Wurzelverzeichnis eine Datei 'my-hacks.php' anlegen, falls nicht schon vorhanden, und folgendes reinschreiben: PHP-Code: [x] Die veraltete my-hacks.php-Datei unterstützen. aktivieren und freuen Gut ich habe das jetzt nicht konkret mit HostEurope getestet, aber die Option "-f absender@example.com" wird nur dann gesetzt, wenn im $phpmailer-Objekt auch der Wert für "Sender" gesetzt ist. Und genau das machen die drei Zeilen Code da oben. Und die Admin-Mail-Adresse muß natürlich eine bei HostEurope im entsprechenden Paket vorhandene E-Mail-Adresse sein. Gruß Ingo |
| | |
| | #7 (permalink) |
| PostRank: 3 ![]() Registriert seit: 24.07.2005
Beiträge: 136
| Danke. Das habe ich mal eingesetzt. Danach ließ sich allerdings der TinyMCE-Editor nicht mehr starten und ich musste die Postings im HTML-Modus eingeben. Außerdem hat der RSS-Feed für die Kommentare nicht mehr funktioniert. Ich hab das daher mal wieder deaktiviert. Geändert von F.LM (19.08.2007 um 23:55 Uhr). |
| | |
| | #8 (permalink) |
| PostRank: 10 ![]() Registriert seit: 21.10.2006
Beiträge: 2.101
| Das ist allerdings sehr seltsam. Steht denn in der my-hacks.php sonst noch was drin, außer meinen paar Zeilen? Wichtig ist auch, das vor dem <?php und nach dem ?> nichts weiter stehen darf, auch keine Leerzeichen oder Leerzeilen. Hat das mit den E-Mails denn dann wenigstens funktioniert? Gruß Ingo |
| | |
| | #9 (permalink) |
| PostRank: 3 ![]() Registriert seit: 24.07.2005
Beiträge: 136
| Nein, ich habe die Datei erst angelegt und somit stand nur der Code von dir drin. Soweit, zu testen, ob der Mail-Versand funktioniert, bin ich nicht gekommen: Es handelt sich beim Mail-Versand nämlich um einen Newsletter, der nach dem Erscheinen neuer Beiträge verschickt wird. Neue Beiträge ließen sich aber - wie oben beschrieben - nicht verfassen, während die my-hacks.php aktiviert war. Gibt es denn keine Möglichkeit, die Parameter-Übergabe direkt irgendwo im Code der WP-Installation einzuhacken? |
| | |
| | #10 (permalink) |
| PostRank: 10 ![]() Registriert seit: 21.10.2006
Beiträge: 2.101
| Sicher gibt es die auch, nur sollte man zunächst versuchen, einen "legalen" Weg zu gehen. Man kann das ganze aus der my-hacks.php auch in ein Plugin verpacken, dann würde es so aussehen: PHP-Code: Gruß Ingo Geändert von Putzlowitsch (06.02.2008 um 10:15 Uhr). |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |