<blockquote>
  <p>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.</p>
</blockquote>

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

CC BY-SA 3.0
2015-05-05T19:44:27.040Z
Ah. Ok. I'll be more patient with my process and see if that solves it for me ;-)
Adam Snetman
CC BY-SA 3.0
2015-05-05T19:20:15.467Z
2015-05-05T19:20:15.467Z
Brad Bell
<p>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.</p>

<p>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.</p>

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

<p>What am I missing?</p>

<pre class="lang-html prettyprint-override"><code> &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;
</code></pre>

<user-profile><frontend>
Allow users to change email address on front-end form
# Allow users to change email address on front-end form

(Asked by: username_0 on 2015-05-04)

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?
 

    {{ getCsrfInput() }}
    
    
    

    {% macro errorList(errors) %}
        {% if errors %}
            {% for error in errors %}
                {{ error }}
            {% endfor %}
        {% endif %}
    {% endmacro %}

    {% from _self import errorList %}

    

        Username
        
        {% if account is defined %}
            {{ errorList(account.getErrors('username')) }}
        {% endif %}

        First name
        

        Last name
        

    

    
        Fill in both fields below to change the email address associated with your account

        Email
        
        {% if account is defined %}
            {{ errorList(account.getErrors('email')) }}
        {% endif %}

        Current Password
        
        {% if account is defined %}
            {{ errorList(account.getErrors('currentPassword')) }}
        {% endif %}

**Tags:** user-profile, frontend


---

## 1 answers

### Answer by username_1 on 2015-05-05. Score: 4 | Accepted answer

> 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.

> **Comments:**
> **username_0**: Ah. Ok. I'll be more patient with my process and see if that solves it for me ;-)  

---

