In short: 4 steps
If you have never migrated email, start here. Each step has a chapter right below, with the details.
- Estimate. Add up how much the mailboxes take at the old provider. The panel's preview measures it for free, before you buy. Example: 5 mailboxes averaging 4 GB add up to about 20 GB.
- Buy the migration GB yourself at the lua.email checkout. R$ 2.00 per GB migrated from the source, paid once. In the example, 20 GB cost R$ 40.00. They become a balance in the panel.
- Send the spreadsheet. One row per mailbox, with the old account and the new mailbox. The preview shows what will be copied with the balance. If it looks right, confirm.
- Follow along. The copy runs on the server and the screen shows the progress live. On the MX switch day, Sync again brings what arrived afterwards.
Short? Buy more migration GB at the checkout. The migration picks up where it stopped, with the Copy the accounts that were left out button.
Watch the tutorial
The video shows the whole path in a few minutes: the app password, the spreadsheet, the preview, the progress and the sync on switch day. The scenes follow the steps on this page.
1. Before you start: have these ready
The tool copies, over the internet, the messages of each account at the old provider into the matching mailbox on lua.email. It uses IMAP, the protocol that email programs use to read a mailbox. It deletes nothing at the old provider and can be repeated: only what has not been copied yet comes over again.
Have these ready for each account you will migrate:
- the old account's email address and its password (or an app password, when the provider requires one);
- the old provider's IMAP server and the port (almost always 993, with SSL);
- the destination mailbox on lua.email, already created in the panel;
- the migration GB you buy, in GB, at the lua.email checkout (see Migration GB);
- a panel user with access to the domain (domain administrator);
- a CSV spreadsheet, which you build in Build the spreadsheet with modelo-migracao.csv.
What the tool copies and what it does not
- It copies: messages, folders and subfolders, the read and flagged state, and the original date of each message.
- It does not copy: contacts and calendar (see Contacts and calendar), filter rules, signatures and settings of the old provider. It also does not create mailboxes or change DNS.
- IMAP with a password only. Microsoft 365 and Outlook.com accounts use a different type of authentication that the tool does not support yet: their migration is done by our team (see the provider table).
How much it costs: you buy the migration GB yourself at the lua.email checkout, in GB, without talking to anyone, before you migrate: R$ 2.00 per GB migrated from the source, paid once, no monthly fee and no renewal. They become a balance in the admin panel, and the preview shows what will be copied with it before you confirm. If you prefer that our team handles the switch, see how we migrate.
2. Create the destination mailboxes
What it is: The destination mailbox is the new address, on lua.email, that will receive the old messages.
When it happens: At the start: the tool only copies into mailboxes that already exist, so they come before everything else.
The migration copies into mailboxes that already exist; it does not create them. Create one mailbox per person, with the same address as today, under Domains in the panel (see Create mailboxes). If the domain is not in the panel yet, start with domain onboarding.
People who write to your company will not notice the switch: the addresses stay the same. New email only starts arriving in the new mailbox when you switch the MX (see switch day).
3. Find the access data for each account
What it is: To copy, the panel has to sign in to the old account as if you were opening the email in another program. So it asks for the same data that Outlook or your phone use: the address, the password, the server and the port.
When it happens: Before you build the spreadsheet. If you already have the email set up in Outlook or on your phone, this data is in the account settings.
The spreadsheet has six columns. This table says where each one comes from. None of it is a secret from Lua: it is data of the account you already use at the old provider.
| Column | Where it comes from | Example |
|---|---|---|
source_email | The full address of the account at the old provider. It is the sign-in user: the same one you type in Outlook or on your phone. | financeiro@exemplo-engenharia.test |
source_password | This account's password at the old provider. With 2-step verification, it is an app password (see the next section). If the person does not want to share the password, they can replace the old one with a temporary one just for the migration. | old-account-password |
source_imap_host | The old provider's IMAP (incoming) server. It is in the provider's panel, in the Outlook setup instructions or in the hosting welcome email. The table below lists the most common ones. | imap.provedorantigo.test |
source_imap_port | The IMAP port. 993 with SSL is the norm. 143 (not SSL on connect, protected by STARTTLS) only if the provider says so. If left blank, 993 applies. | 993 |
source_ssl | 1 when the port is 993 (SSL); 0 when it is 143 (STARTTLS). | 1 |
dest_username | The lua.email mailbox that will receive the messages. It must exist in the panel (see Create the destination mailboxes). Usually it is the same address. | financeiro@exemplo-engenharia.test |
How to find the IMAP server
- Open your provider's panel and look for Email accounts, Set up in Outlook or Connect devices.
- Copy the incoming server (also called IMAP or receiving server) and the port.
- If the screen only shows POP, look for the IMAP option: the migration does not use POP.
- When in doubt, open Outlook or the phone that already receives this email: the server is in the account settings.
| Provider | IMAP server and port | Where to check |
|---|---|---|
| Google (Gmail and Google Workspace) | imap.gmail.com, 993, SSL | IMAP must be turned on in the account. Use an app password: see below. |
| Microsoft 365 and Outlook.com | outlook.office365.com, 993, SSL | Migration done by our team: see the table. |
| Locaweb | email-ssl.com.br, 993, SSL. User: the full email address. | Locaweb panel, email settings. |
| HostGator | The name of your account's server. Port 993, SSL. | Customer Portal, under Hosting, or the welcome email. |
| KingHost | Your account's incoming server. Port 993, SSL. | KingHost control panel, in the account's email settings. |
| UOL Host, Hostinger and other hosting providers | The server the panel indicates. Almost always port 993, SSL. | Hosting panel, in email or Outlook settings. |
| Providers with cPanel (including Unifique) | Usually mail.yourdomain.com or your account's server name (at Unifique, something like cpanel05.unifique.cloud). Port 993, SSL. User: the full email address. | In cPanel, under Email Accounts, Connect Devices. |
This data comes from our migration pages for hosting providers and Gmail. The address can change from one plan to another: always check your provider's panel.
4. Create the app password (or app-specific password)
What it is: For security, some providers do not let an outside program sign in with your regular password. They generate a password just for that, which you can delete later: the app password (or app-specific password).
When it happens: When the old account has 2-step verification, that is, it asks for a code in addition to the password. Ordinary hosting accounts do not: there, the mailbox password works.
Some providers do not accept the regular password in third-party programs when the account has 2-step verification. They ask for a single-purpose password for the program, called an app password or app-specific password. It goes in the source_password column.
The steps below are the paths each provider indicates, and names can change. We do not show their screens: use each provider's official help to see the current screen.
Google (Gmail and Google Workspace)
- Sign in to the Google account you will migrate and open Google Account → Security.
- Turn on 2-Step Verification if it is not on yet. Without it, Google does not let you create an app password.
- Open App passwords (you can also find it with the Google Account search box), give it a name such as "migration" and click create.
- Google shows a 16-letter password. Copy it and paste it into the
source_passwordcolumn, without the spaces. It is shown only once. - Google Workspace: the Workspace administrator may have disabled IMAP or app passwords in the company settings. If the preview refuses the login of every account, ask them to enable it during the migration.
Microsoft 365 and Outlook.com: migration done by our team
The tool signs in to each old account with the email and the password. In Microsoft 365 and Outlook.com accounts, sign-in is confirmed on the provider's own login page, through a type of authentication called OAuth, which the admin panel tool does not support yet. That is why these accounts are migrated by our team.
| Provider | Through the tool? |
|---|---|
| Microsoft 365 (business accounts) and Outlook.com, Hotmail and Live | No. The migration is done by our team. |
| Google Workspace where the administrator disabled app passwords in the company settings | No, while app passwords are disabled. |
| Google, Yahoo, iCloud, and others with two-step verification | Yes, with an app password created at the provider. |
How to tell: in the preview, the account shows "the source refused the login" even with the right password. What to do: talk to our team to schedule the date and plan the steps. We migrate these accounts with our own team, usually with an authorization given by the company's administrator at the old provider, without asking for each person's password. See Migrating from Microsoft 365.
Locaweb, HostGator, KingHost, UOL Host, Hostinger, cPanel and Unifique
Email hosting does not use 2-step verification on the mailbox: the mailbox's own password works, the same one used in Outlook. To find the server, follow the table above. If you forgot the password, reset it in the hosting panel (in cPanel, under Email Accounts) or create a temporary one just for the migration.
- cPanel (HostGator, Unifique and others): the user is the full email address; the server appears under Connect Devices.
- Locaweb: server
email-ssl.com.br, port 993. - KingHost, UOL Host, Hostinger: the server and port are in the panel, in the email settings.
5. Build the spreadsheet
What it is: The spreadsheet is a list, one row per old account, that tells the panel where each account is and which new mailbox it goes to. It is saved in a simple format called CSV.
When it happens: After you gather the access data and before you upload it to the panel.
One row per old account. The first row is the header, with the six names exactly as in the access table (lowercase, no accents).
- Download modelo-migracao.csv. It already comes with the header and sample rows.
- Excel: open the file, delete the sample rows and fill in one row per account, starting at row 2. Under File → Save As, choose CSV UTF-8 (comma delimited). Plain CSV, which in Portuguese Excel uses a semicolon, also works.
- Google Sheets: under File → Import, upload the template, fill it in and download it from File → Download → Comma-separated values (.csv).
- Check: no column without a name, the same number of columns in every row, and each row's destination equal to a mailbox that already exists.
What the file looks like, with four sample accounts (two on the same hosting, one Google account with an app password and one on a server that uses port 143):
source_email,source_password,source_imap_host,source_imap_port,source_ssl,dest_username
financeiro@exemplo-engenharia.test,senha-da-conta-antiga,imap.provedorantigo.test,993,1,financeiro@exemplo-engenharia.test
comercial@exemplo-engenharia.test,senha-da-conta-antiga,imap.provedorantigo.test,993,1,comercial@exemplo-engenharia.test
joao.silva@exemplo.test,abcdefghijklmnop,imap.gmail.com,993,1,joao@exemplo-engenharia.test
contato@exemplo-engenharia.test,senha-da-conta-antiga,mail.exemplo-engenharia.test,143,0,contato@exemplo-engenharia.test
Spreadsheet tips
- Do not change the header names. If any of the six columns is missing, the panel rejects the file and tells you which one.
- The password goes as it is. A space before or after counts as part of the password. Commas, semicolons and accents work: Excel and Google Sheets add the quotes by themselves.
- Two old accounts for the same mailbox: one row for each, with the same
dest_username. The folders of both are merged in the new mailbox. - Test with a few accounts. Start with one or two rows, check the preview, then upload the rest.
- Rows that are repeated, incomplete, point to a destination mailbox that is not yours or to a source server that is not a provider's (an internal network address, or a port other than 993 or 143) are left out, with a notice saying which row it was.
- The old password is stored encrypted and deleted after the sync window (see below). Delete the spreadsheet from your computer after uploading it.
6. Upload the spreadsheet and see the preview
What it is: The preview is a dry run: the admin panel signs in to each account, counts how many messages it has, measures its size and checks it against the migration GB you bought, but does not copy anything yet.
When it happens: Right after you upload the spreadsheet. This is the time to fix any mistake without spending any of your balance.
- In the panel, open Support → Email migration and click New migration.
- Give the task a name (for example, "Old email migration"), choose the file under CSV file and click Preview.
Before creating anything, the panel signs in to each account at the old provider and shows:
- whether the account opened (login ok) or why it did not, such as a wrong password or a server that did not respond;
- how many messages and how much space each account has;
- the total size and the migration GB you bought: how much is available, which accounts will be copied and which are left out, with how much is missing to migrate everything.
Accounts with errors are left out of the migration. Fix the spreadsheet and upload it again, or tick the option to include them anyway. The preview is valid for 1 hour.
7. Check the balance, what will be copied, and confirm
What it is: Here you see how many migration GB are still available, which accounts will be copied and which are left out, and you decide whether to confirm. Only the confirmation starts the copy.
When it happens: Still on the preview screen, before the copy starts.
Accounts are considered in spreadsheet order: an account within the remaining balance gets the Within the balance badge and goes in, and one that exceeds the balance gets the Exceeds the balance badge, with its size and how much is missing. When no account goes over the balance, the preview says: "All measured accounts are within the balance". If the destination mailbox does not have room for an account, the preview warns: "They will not be copied because the destination mailbox is out of space". The next account, if smaller, can still be copied. The admin panel also shows the way to buy more migration GB. When you confirm, only the accounts within the balance go into the queue. Nothing has been created yet: if something does not match, click Go back and change the CSV. If it is right, click Confirm and create the migration.
Before you confirm: the copy does not change the destination mailbox's app password or app access. Outlook and phones keep working during and after the migration. The destination mailbox needs an active license and room for everything coming from the old account; if it does not have them, the preview warns you before anything starts.
8. Follow the copy live
What it is: After you confirm, the copy runs on the Lua server, one account at a time. You do not need to keep the page open, but you can follow the progress on it.
When it happens: From the moment you confirm until every account finishes. Large mailboxes take longer.
The copy starts in moments and the task page refreshes by itself. Accounts are copied one at a time, with folders and subfolders, read and flagged messages and original dates.
The "What is happening now" panel
Right below the summary, the What is happening now panel shows the copy in real time, refreshing every 5 seconds:
- Events in plain language, newest first: "Connected to the source server", "Copying folder INBOX: 1,240 of 5,300 messages (23%)", "Sent folder finished", "Account finished".
- Message and Data bars for each account, the Folder being copied, the Speed and the estimated Time left.
- Filter by account, when the task has more than one, to follow just one.
- If the tab stays in the background, updates pause and resume when you come back. When the migration ends, the panel says there are no further updates.
The panel never shows passwords, subjects or message content: only folder names and numbers. You can close the page: the copy keeps running on the server.
| Situation | What it means |
|---|---|
| Queued | It has not started yet. |
| Copying / In progress | The account (or the task) is being copied right now. |
| Completed | Everything was copied. The page shows messages and size for each account. |
| Completed with failures | Some accounts were copied and some had errors. The error for each one appears on its row. |
| Failed | The account was not copied. See the reason and what to do in Common errors. |
9. Check the result and the balance
What it is: When all the accounts within the balance finish, the task is completed and shows what was copied and the balance that is left.
When it happens: At the end of the copy. It is the time to check the result in webmail.
When everything is finished, the page shows, per account, the messages and size copied, and the Migration GB panel at the top shows the migration GB, what has been copied, what is in the queue and the balance. If an account was left out, it appears as Exceeds the migration GB balance, with its size and how much was missing: nothing was deleted, and you can copy it after buying more migration GB (see Migration GB).
Open one of the mailboxes in webmail and check the folders and a few old messages. Then create a new app password for whoever uses Outlook or a phone (see the panel guide).
10. Common errors and what to do
What it is: An account can fail without affecting the others. The panel shows the reason on the account's row, in plain language.
When it happens: In the preview (a login that did not open) or during the copy (server down, destination mailbox full).
| The message says | What to do |
|---|---|
| The source refused the login | Check the old account's email and password. For a Google account, use the app password. For Microsoft 365 and Outlook.com, the migration is done by our team: see Microsoft 365 and Outlook.com. |
| Could not connect to the source server | Check the address, the port and the source_ssl column, or whether the old provider is online. |
| The secure connection (SSL/TLS) failed | The port and SSL do not match (993 with 1, 143 with 0), or the old server's certificate is invalid: contact support. |
| The destination mailbox quota is full | Increase the mailbox space and try again. The new quota can take up to 1 hour to apply. |
| The destination mailbox does not exist or is inactive | Create or activate the mailbox in the panel and try again. |
| The destination refused the login | Contact support. |
After fixing it, click Retry the failed accounts on the task page. The copy continues where it stopped, without duplicating what already arrived. To change the old password, create a new task with just the corrected account.
11. On MX switch day: Sync again
What it is: The MX switch is the day the domain starts delivering new email to lua.email instead of the old provider (the MX is the address that tells other servers where to deliver). Between the first copy and that day, messages kept arriving at the old provider. The Sync again button brings over only those.
When it happens: On MX switch day, and within 7 days after the first complete copy.
Do the first copy ahead of time, while the team still uses the old email. On the day the domain starts receiving on lua.email (the MX switch), bring over what arrived in the meantime.
- Switch the domain's MX to lua.email (see domain onboarding or DNS through Edgium).
- Open the finished task under Support → Email migration.
- On the row of each finished account, click Sync again and confirm with Sync. The notice says: it copies only what arrived in the source mailbox after the last copy, and what was already copied is not repeated. In the tool with migration GB you bought, what comes in this pass is taken from the balance.
- The account goes back to the queue and the task to "in progress". Follow it in the "What is happening now" panel. Each pass shows up as an event, such as "Incremental sync: 120 new messages, 45 MB".
The 7-day window
- The button is available for 7 days, counted from the end of the first complete copy. Next to it the screen shows "Available until" with the date and time. Syncing again does not extend the window.
- After the window the button disappears and the screen explains: "Syncing was available for 7 days after the migration". To copy again, create a new task with the spreadsheet.
- The old password stays stored, encrypted, during that window, so the button works without asking for everything again, and it is deleted afterwards.
- If the screen says "Sync unavailable: the source password is no longer stored", create a new task.
Sync again uses the balance
What comes in this pass is taken from the balance of migration GB, and the account's messages and size become what it already had plus what came now. There is no new charge while there is balance. If the balance runs out, the admin panel warns that there is no balance and does not copy: buy more migration GB and click again.
12. Migration GB: buy, balance and buy more
What it is: Migration GB are the amount of email you can copy with the tool. You buy these GB before migrating, at the lua.email checkout, and they show up in the admin panel as a balance.
How much it costs: R$ 2.00 per GB migrated from the source, paid once: it is a one-time purchase, with no monthly fee and no renewal. Buying again adds to the balance you already have.
How to subscribe
- Estimate the GB: add up the size of the mailboxes at the old provider. It does not need to be exact, because the preview measures each account.
- At the lua.email checkout, buy the expected migration GB yourself, without needing to talk to anyone.
- In the admin panel, the balance appears in the Migration GB panel on the migration screen (bought, already copied, in the queue and available) and, on Home, in the Email migration card, with the GB bought, the GB already used, the balance and the link to the tool.
What uses the balance
- What the copy brings, account by account, and what Sync again brings afterward.
- An account that has already started copying finishes completely, even if it goes a bit over the estimate. The balance never goes negative: if the estimate was exceeded, only the new copies are blocked.
- The balance belongs to the whole customer and adds up all of their migrations. The balance does not renew on its own: only buying more migration GB brings balance back.
Short? Buy more GB and copy the accounts left out
- Buy more migration GB at the checkout. The new GB are added to the balance.
- Open the task and click Copy the accounts that were left out. The accounts marked Exceeds the migration GB balance go back into the queue, and the admin panel checks the balance for each one before copying.
- The old provider's password for these accounts is kept for 7 days, the same window as Sync again. After that, upload the spreadsheet again in a new task.
13. Contacts and calendar: import in webmail
What it is: Contacts and calendar are not email, and the migration tool does not copy them. You carry both over as a file.
When it happens: After the switch, with the new mailbox already open in webmail.
The tool copies email only. You carry contacts and calendar over as a file, in the new mailbox's webmail:
- At the old service, export the contacts as vCard (
.vcf) or CSV, and the calendar as.ics. - In webmail, open Contacts, choose the destination address book and click Import. See Contacts.
- In the Calendar, use the Import / Export tab and Import from file. See Import and export.
14. When to ask our team
- Microsoft 365 (formerly Office 365) and Outlook.com accounts: we migrate them with our own team.
- Volumes where you prefer that our team handles it, or when you need help with DNS and with the team's devices.
The team handles the switch by the hour: see how we migrate or talk to us.
15. Migration checklist
- The destination mailboxes exist in the admin panel and the migration GB are bought.
- I have, for each old account, the email, the password (or app password), the IMAP server and the port.
- The spreadsheet is a CSV with the six columns, and I started with one or two accounts.
- I bought the migration GB at the checkout, and the preview showed login ok on all of them and what will be copied with the balance.
- I confirmed and followed the copy until every account was "Finished".
- I checked a few messages and folders in webmail.
- On MX day, I used Sync again within the 7 days.
- I created a new app password for Outlook and phones.
- I imported contacts and calendar in webmail.
- I deleted the spreadsheet from my computer.
Common questions
- Will I lose email at the old provider? No. The copy deletes nothing there.
- What if the migration GB are not enough for all the accounts? The accounts left out stay on record, with nothing deleted. Buy more migration GB and use Copy the accounts that were left out.
- Is the space monthly? No. It is paid once, and buying again adds to the balance.
- Do I have to stop using the old email during the copy? No. What arrives afterwards comes over in the switch day sync.
- Can I migrate a very large mailbox? Yes. The copy runs in the background and you follow the progress.
- The person does not want to share the password. They can replace the old one with a temporary one just for the migration, or create an app password.
- Can I merge two accounts into one mailbox? Yes: one row for each, with the same destination.
- I need help. Talk to support.
Related guides
- Panel guide: mailboxes, app passwords and everything the administrator does.
- Onboarding a domain: from a new domain to the first mailbox and the MX.
- Webmail guide: contacts, calendar and how to check the copied messages.
- All guides and the migration done by our team.