# How can I bulk remap/update user email addresses?

**URL:** <https://meta.discourse.org/t/how-can-i-bulk-remap-update-user-email-addresses/56519>\
**Category:** Product Support\
**Created:** [28 Janeiro , 2017 15:56 UTC](https://meta.discourse.org/t/how-can-i-bulk-remap-update-user-email-addresses/56519 "2017-01-28T15:56:29Z")\
**Posts on this page:** 1\
**Showing post:** 9

<div class="post-metadata">

**Author:** ![techAPJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/techapj/32/342990_2.png) [@techAPJ](https://meta.discourse.org/u/techAPJ)\
**Post date:** [29 Janeiro , 2017 11:49 UTC](https://meta.discourse.org/t/how-can-i-bulk-remap-update-user-email-addresses/56519/9 "2017-01-29T11:49:38Z")

</div>

> [@harveywun](#):
>
> Without the “talk” sub-domain (or in our case “forum” sub-domain).

That is.. very risky.

Here is the rake task you can run to fix this issue.

```ruby
desc 'Batch remap user email address'
task 'users:batch_remap_email', [:find, :replace] => [:environment] do |_,args|
  require 'highline/import'

  find = args[:find]
  replace = args[:replace]
  if !find || !replace
    puts "ERROR: Expecting rake users:batch_remap_email['find','replace']"
    exit 1
  else
    confirm_replace = ask("Are you sure you want to remap all email addresses matching '#{find}' with '#{replace}'? (Y/n) ")
    exit 1 unless (confirm_replace == "" || confirm_replace.downcase == 'y')
  end

  puts "Remapping email addresses"
  i = 0
  User.where("email LIKE ?", "%#{find}%").each do |u|
    new_email = u.email.dup
    new_email = new_email.gsub!(/#{Regexp.escape(find)}/, replace) || new_email

    if new_email != u.email
      u.email = new_email
      u.email_tokens.create(email: u.email)
      u.activate
      u.save
      putc "."
      i += 1
    end
  end
  i

  puts "", "#{i} email addresses remapped!", ""
end

```

If you are unfamiliar with how to use above rake code, here is the rough outline:

- login on your server

- `cd /var/discourse`

- `./launcher enter app`

- append the above code in `/lib/tasks/users.rake` file

- `rake users:batch_remap_email['mysite.com.aum.au','mysite.co']`

- remove the code appended in step 4

- 🎉

---

_[View the full topic](https://meta.discourse.org/t/how-can-i-bulk-remap-update-user-email-addresses/56519)._
