2010-02-26 14 views
6

Wenn sich ein Benutzer auf einer Drupal-Site anmeldet, gibt es eine konfigurierbare Nachricht, die Drupal dem Benutzer senden wird, indem er ihnen ihren Benutzernamen und ihr Passwort mitteilt.Benutzer des Kontos in Drupal erneut benachrichtigen

Ich habe etwa 1.000 Benutzer, die ich importiert habe, aber zu der Zeit wollte ich sie nicht benachrichtigen - aber jetzt tue ich es. Gibt es eine Möglichkeit, die Benutzer zu benachrichtigen, ohne sie erneut zu importieren?

Ich schaute durch einige der Module, die ich dachte, könnte diese Funktion enthalten, aber ich konnte es nicht finden ??

Antwort

2

Natürlich gibt es einen Weg: Wenn Sie dies nur einmal tun möchten, empfehle ich Ihnen eine schnelle und einfache Methode ... drupal_bootstrap(). In einer externen PHP-Datei rufen Sie diese Funktion auf, um Drupal zu starten, dann Benutzer zu laden und E-Mail-Nachrichten zu versenden. Hier ist ein Pseudo-Code:

<?php 
// ... 

// Change directory to Drupal root 
chdir(../../); 

// Bootstrap Drupal 
require './includes/bootstrap.inc'; 

// You might want to pass DRUPAL_BOOTSTRAP_DATABASE instead 
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); 

$db_result = db_query('SELECT * FROM {users}'); 

while ($user_object = db_fetch_object($db_result)) { 
    // TODO: Use drupal_mail() to send desired emails 

    // User Name: $user_object->name 
    // User Email: $user_object->email 

    // Don't forget to pass 'em through the check_plain() 
    // ... 
} 
// ... 

Lesen Sie mehr bei Drupal API: drupal_mail()drupal_bootstrap().

+1

Nur neugierig, können Sie damit dem Benutzer sein Passwort per E-Mail senden (wie die Frage gestellt)? –

+6

Damit können wir Benutzern ein neues Passwort senden, nicht das gespeicherte Passwort. Auch können wir eine automatische Login-URL mit einem Hash erstellen, so dass Benutzer ihre Passwörter zurücksetzen können, wie es drupal standardmäßig tut. – sepehr

Verwandte Themen