Last updated 16 September 2011. Created on 25 April 2008.
Edited by laura s, bekasu, add1sun, sepeck. Log in to edit this page.

Here is where you set Public registration options, user registration email settings, enable signature and picture support.

User registration settings

Public registrations:

  • Only site administrators can create new user accounts.
  • Visitors can create accounts and no administrator approval is required.
  • Visitors can create accounts but administrator approval is required.

By default, e-mail verification is required. There is also a box where you can add guidelines for user registration.

User e-mail settings

Customize welcome e-mail messages sent to new member accounts created by an administrator. Available variables are: !username, !site, !password, !uri, !uri_brief, !mailto, !date, !login_uri, !edit_uri, !login_url.

You have a variety of potential e-mail templates to create and use.

  • Welcome, new user created by administrator
  • Welcome, no approval required
  • Welcome, awaiting administrator approval
  • Password recovery email
  • Account activation email
  • Account blocked email
  • Account deleted email


Enable or disable signature support.


Enable or disable picture support.

Variable Details

As far as I can tell, the variables aren't documented anywhere, which is especially problematic since the names aren't especially informative (for example, it isn't obvious why !login_uri is different from !login_url). While I'm not really in a good position to describe them in detail, I am going to post the code that generates these variables so that people at least have a starting point for figuring them out.

(from modules/user/user.module)

function user_mail_tokens($account, $language) {
  global $base_url;
  $tokens = array(
    '!username' => $account->name,
    '!site' => variable_get('site_name', 'Drupal'),
    '!login_url' => user_pass_reset_url($account),
    '!uri' => $base_url,
    '!uri_brief' => preg_replace('!^https?://!', '', $base_url),
    '!mailto' => $account->mail,
    '!date' => format_date(time(), 'medium', '', NULL, $language->language),
    '!login_uri' => url('user', array('absolute' => TRUE, 'language' => $language)),
    '!edit_uri' => url('user/'. $account->uid .'/edit', array('absolute' => TRUE, 'language' => $language)),
  if (!empty($account->password)) {
    $tokens['!password'] = $account->password;
  return $tokens;

Looking for support? Visit the forums, or join #drupal-support in IRC.


julie.metivier’s picture

Thanks to jasonch, here is a simple solution to add the first name or another field from the user profile:
Integrate Profile fields with User in email messages from


hoangbien’s picture

My site have two language (English and French). I translated "Welcome, no approval required" from English to French. However, When user visit English language and register an account. They will received an email with French language. How to send "Welcome" with language by user's visiting. When them visit English language and register an account. The site will be sent email with English languae. When them visit French language and register an account. The website will be sent email with French language.
Thank you,