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?
7 Réponses :
Avez-vous mis en œuvre user_register_notify? http://drupal.org/project/user_register_notify P>
Voici les instructions sur la manière de la configurer: http://drupal.org / nœud / 97183 / CVS-Instructions / Head P>
Vous pouvez utiliser règles . Vous pouvez ajouter une action à tirer lorsque l'utilisateur est créé. p>
Réponse acceptée ?? Et si les règles ne sont pas installées.
Si vous voulez imiter la façon dont Drupal Core gère cela, jetez un coup d'œil à
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.*/
Ne pas _user_mail_notify code> est invoqué lors de l'utilisation de user_save ?? à Drupal 7 si
Mettre en œuvre Hook_mail:
$result = drupal_mail('example', 'mymail','email@email.com', 'en', 'params','admin@email.com', 'to@email.com');
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. p>
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. P>
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. P>
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'));
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.