Allow users to change email address on front-end form I've got a front-end user profile form working on a client site I'm developing, but the one thing that I'm having trouble with is allowing users to change the email address associated with their account via this form.

When I use my email field to attempt an email address change, I get a verification email generated by Craft sent to the new email address, but the email change is not reflected in either the CP or on the front-end when I refresh the form.

I've pasted an abbreviated version of my form below with some irrelevant fields omitted.

What am I missing?

 &lt;form method="post" accept-charset="UTF-8" enctype="multipart/form-data"&gt;

    {{ getCsrfInput() }}
    &lt;input type="hidden" name="action" value="users/saveUser"&gt;
    &lt;input type="hidden" name="redirect" value="account/my-account?m=updated"&gt;
    &lt;input type="hidden" name="userId" value="{{ currentUser.id }}"&gt;

    {% macro errorList(errors) %}
        {% if errors %}
            {% for error in errors %}
                &lt;p class="error-block"&gt;{{ error }}&lt;/p&gt;
            {% endfor %}
        {% endif %}
    {% endmacro %}

    {% from _self import errorList %}

    &lt;fieldset&gt;

        &lt;label for="firstName"&gt;Username&lt;/label&gt;
        &lt;input id="username" type="text" name="username" value="{{ currentUser.username}}"&gt;
        {% if account is defined %}
            {{ errorList(account.getErrors('username')) }}
        {% endif %}

        &lt;label for="firstName"&gt;First name&lt;/label&gt;
        &lt;input id="firstName" type="text" name="firstName" value="{{ currentUser.firstName}}"&gt;

        &lt;label for="lastName"&gt;Last name&lt;/label&gt;
        &lt;input id="lastName" type="text" name="lastName" value="{{ currentUser.lastName }}"&gt;

    &lt;/fieldset&gt;

    &lt;fieldset&gt;
        &lt;p&gt;Fill in both fields below to change the email address associated with your account&lt;/p&gt;

        &lt;label for="email"&gt;Email&lt;/label&gt;
        &lt;input id="email" type="text" name="email" value="{{ currentUser.email }}"&gt;
        {% if account is defined %}
            {{ errorList(account.getErrors('email')) }}
        {% endif %}

        &lt;label for="password"&gt;Current Password&lt;/label&gt;
        &lt;input type="text" id="currentPassword" name="password" /&gt;
        {% if account is defined %}
            {{ errorList(account.getErrors('currentPassword')) }}
        {% endif %}
    &lt;/fieldset&gt;      

    &lt;input class="btn btn-primary btn-large" type="submit" value="Save changes" /&gt;

&lt;/form&gt;
When I use my email field to attempt an email address change, I get a verification email generated by Craft sent to the new email address, but the email change is not reflected in either the CP or on the front-end when I refresh the form.


The user's email address won't actually update until you click the link in the verification email the user receives.