- This page describes my experience relating to how addresses are updated under different circumstances and is not guaranteed to be accurate. If inaccuracies exist, please update this page to fix.
- The description is Drupal-centric but I suspect may be similar for other user frameworks (Joomla and Wordpress)
Importing Postal Addresses
- Every contact with at least one address defined has exactly one "Primary Address"
- A new imported address will become Primary
- If Do Not Mail is set, it will be cleared upon importing a new address
- unless a Do Not Mail field is also imported, then Do Not Mail will be set if the import value == 1
The connection between a Drupal user and a CiviCRM contact is created using a `civicrm_uf_match` table. (The '`uf`') stands for '`user framework`' - in this case, Drupal.
When a contact's Primary Email Address is added or updated, the associated Drupal user's email address is also updated.
Importing Email Addresses
- Every contact with at least one email address defined has exactly one "Primary Email Address"
- A new imported email address will become Primary
- If Do Not Email is set, it will be cleared upon importing a new email address
- unless a Do Not Email field is also imported, then Do Not Email will be set if the import value == 1
Browser-based Email Updates
- Email updates are done via Drupal user account page
- Email updates are done via CiviCRM contact record
Changes made in the Drupal user's email are reflected in the associated CiviCRM contact's Primary Email Address and vice versa. Note that a CiviCRM contact may have multiple email addresses, but only one is the "primary" email address.
- CiviCRM contributions
- CiviCRM event registration
- CiviCRM membership forms
Event registration, Contributions and Membership forms will pull the billing email (if available) from the contact to autofill the form. Else these forms will pull the Primary mail address.
The supplied email will replace the contact's Primary Email Address, and this will be reflected in the user's linked Drupal account.