7
votes

Comment puis-je envoyer une notification par courrier électronique lors de la création d'un utilisateur drupal?

J'essaie de créer un utilisateur à l'aide du code. J'ai ce qui suit qui a créé l'utilisateur. Cependant, cela n'envoie pas de courrier électronique à l'utilisateur indiquant que le compte a été créé. Comment puis-je faire ça? XXX


2 commentaires

Essayez de créer l'utilisateur manuellement, envoie-t-il un e-mail?


Si je clique sur "Notifier l'utilisateur du nouveau compte", je reçois un email.


7 Réponses :


2
votes

Avez-vous mis en œuvre user_register_notify? http://drupal.org/project/user_register_notify

Voici les instructions sur la manière de la configurer: http://drupal.org / nœud / 97183 / CVS-Instructions / Head


0 commentaires

-3
votes

Vous pouvez utiliser règles . Vous pouvez ajouter une action à tirer lorsque l'utilisateur est créé.


1 commentaires

Réponse acceptée ?? Et si les règles ne sont pas installées.



1
votes

Si vous voulez imiter la façon dont Drupal Core gère cela, jetez un coup d'œil à user_register_submit () . C'est la fonction qui réagit à la case à cocher que vous avez mentionnée ci-dessus et si les notifications sont souhaitées, transmet l'objet utilisateur enregistré dans _ user_mail_notify () , qui gère l'envoi du message.


0 commentaires

31
votes

Vous pouvez utiliser la standard _user_mail_notify () fonction du module "utilisateur" de Drupal Core.

 /* @param $op
 *   The operation being performed on the account. Possible values:
 *   - 'register_admin_created': Welcome message for user created by the admin.
 *   - 'register_no_approval_required': Welcome message when user
 *     self-registers.
 *   - 'register_pending_approval': Welcome message, user pending admin
 *     approval.
 *   - 'password_reset': Password recovery request.
 *   - 'status_activated': Account activated.
 *   - 'status_blocked': Account blocked.
 *   - 'cancel_confirm': Account cancellation request.
 *   - 'status_canceled': Account canceled.*/


1 commentaires

Ne pas _user_mail_notify est invoqué lors de l'utilisation de user_save ?? à Drupal 7 si



0
votes

Mettre en œuvre Hook_mail:

$result = drupal_mail('example', 'mymail','email@email.com', 'en', 'params','admin@email.com', 'to@email.com');


0 commentaires

0
votes

Les réponses ci-dessus font à peu près la même chose, mais sautez dans la chaîne à différents endroits; certains nécessitant des modules supplémentaires; et certains se référant aux formulaires système.

Personnellement, tandis que le module de règles peut y accomplir pour vous, il semble un peu contradictoire à créer par programmation d'un utilisateur, puis utilisez l'interface utilisateur pour envoyer la notification.

Je choisirais d'utiliser le _User_mail_notify ( ) méthode et passer l'opération que vous souhaitez (register_pending_approploval, registre_no_approval_requiked, etc.). Cela vous met dans la chaîne suffisamment bas pour que vous ne reposiez pas sur des modules supplémentaires, mais suffisamment haut que vous tapez dans la logique d'enregistrement Drupal.


0 commentaires

0
votes

La manière standard peut modifier votre code un peu, comme celui-ci (passer de user_save et ajouter le reste);

$account = user_save('', $newUser); //the first parameter is left blank so a new user is created

  // If you want to send the welcome email, use the following code
  // Manually set the password so it appears in the e-mail.
  $account->password = $newUser['pass'];

  // Send the e-mail through the user module.
  drupal_mail('user', 'register_no_approval_required',
    $email, NULL, array('account' => $account), variable_get('site_mail', 'noreply@yourdomain.com'));


0 commentaires