Comment puis-je envoyer une notification par courriel lorsqu'en programmant la création d'un utilisateur de Drupal?
Je suis en train de créer un utilisateur à l'aide de code. J'ai le texte suivant qui a créé l'utilisateur. Il n'a cependant pas à envoyer un mail à l'utilisateur indiquant que le compte a été créé. Comment puis-je le faire?
$newUser = array(
'name' => 'username',
'pass' => 'password', //note: do not md5 the password
'mail' => 'email address',
'status' => 1,
'init' => 'email address'
);
user_save(null, $newUser);
- Essayez de créer un utilisateur manuellement, est-il envoyer un E-mail?
- Si je clique sur "Avertir l'utilisateur d'un nouveau compte", je reçois un e-mail.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser Les règles. Vous pouvez ajouter une action pour être déclenché lorsque l'utilisateur est créé.
Vous pouvez utiliser la norme _user_mail_notify() fonction à partir de la base de Drupal est "Utilisateur" du module.
Il y a différentes valeurs de $op:
_user_mail_notify
se invoquée lors de l'utilisation user_save ?? dans Drupal 7Avez-vous mis en œuvre user_register_notify? http://drupal.org/project/user_register_notify
Voici les instructions sur la façon de les mettre en place: http://drupal.org/node/97183/cvs-instructions/HEAD
Si vous voulez imiter la façon de base de Drupal gère cela, jetez un oeil à user_register_submit(). C'est la fonction qui réagit à la case que vous mentionnez ci-dessus, et si les notifications sont souhaitées, passe l'utilisateur enregistré objet dans _user_mail_notify(), qui s'occupe de l'envoi du message.
mettre en œuvre hook_mail:
ensuite, utilisez le drupal_mail() fonction:
Les réponses ci-dessus, à peu près tous faire la même chose, mais sauter dans la chaîne de points différents; certaines nécessitant des modules supplémentaires; et certains se référant au système de formes.
Personnellement, bien que les Règles module peut accomplir cela pour vous, il semble un peu contradictoire de programmation pour créer un utilisateur, puis utiliser l'INTERFACE utilisateur pour envoyer la notification.
J'opterais pour l'utilisation de la _user_mail_notify() méthode et en passant à l'opération que vous souhaitez (register_pending_approval, register_no_approval_required, etc.). Cela vous met dans la chaîne suffisamment faible pour que vous ne sont pas en s'appuyant sur des modules supplémentaires, mais suffisamment haute pour que vous êtes en puisant dans Drupal enregistrement logique.
Le standard de la manière peut changer votre code un peu, comme ceci (changement de user_save et ajouter le reste);