Skip to content
·Admin

How to sign up for GitHub with a separate email

What GitHub checks in an address, how to receive the verification code, and how to keep your address out of public commit history.

GitHub signs you up by email and verifies the address with a code: without confirmation the account exists but can do almost nothing — you can neither publish code nor take part in discussions. So the address matters: the form has to accept it and the message has to arrive.

Below: what GitHub checks in an address, how to sign up, how to receive the code, and what to do when it does not arrive. Plus one thing that is specific to GitHub and that people usually learn too late — your address can end up in public commit history, and that is configurable.

What GitHub checks in an address

The domain’s MX record. A domain has to declare where mail should be delivered. Domains without MX are rejected immediately, before any message is sent.

Disposable-domain lists. The domain is checked against public lists of disposable-mail services. Those lists are open and community-maintained; a new temp-mail service lands on them within days. A disposable address is refused not because it is “temporary” but because its domain is on a list.

Deliverability. The message has to arrive: the domain’s SPF, DKIM and DMARC matter here, along with its standing on blocklists.

Mailcraft’s domains are configured for all three: MX, SPF, DKIM and DMARC in place, never published as a disposable-mail service, reputation re-checked daily against Spamhaus. Every domain also serves a real working site at its root.

Nobody can guarantee acceptance: GitHub’s rules change and the decision is theirs. What can be stated is that everything on the mail side has been done.

Step 1. Get an address

Open the pricing page. For GitHub it makes sense to take Standard ($0.008) or Premium ($0.024): a Premium domain holds up to 5,000 mailboxes against Mass’s 30,000, so it has been exposed in fewer other sign-ups. Technically any tier works — receiving, IMAP and export are identical.

A mailbox lives as long as its domain’s registration; there is no separate monthly term. That matters more here than for a one-off sign-up: sign-in alerts, password resets and security mail arrive at this address a year later too.

Addresses are issued in a Slavic name style. The domain is assigned automatically from the shared pool. Pay by card, Apple Pay, Google Pay or USDT; the list is ready in roughly ten seconds.

Step 2. Sign up

  1. Open github.com/signup.
  2. Enter the address from the mailbox card — copy it rather than typing it.
  3. Set a password. GitHub checks strength and will refuse a weak one.
  4. Choose a username. It is unique across GitHub and ends up in the URLs of your repositories, so choose deliberately.
  5. GitHub sends a message with an eight-digit confirmation code.

Step 3. Receive the code

Three ways:

The dashboard. Mailbox in your list → message in the inbox → the code is highlighted in its own chip, copied in one click.

Webmail. At /mail, sign in with the mailbox address and its own password, no dashboard needed.

A mail client. When you have many mailboxes:

Field Value
Incoming server mail.mailcraft.org
Port 993
Encryption SSL/TLS
Username the full mailbox address
Password from the mailbox card

One host for every domain. Step by step in the Thunderbird guide.

Mailboxes receive only; you cannot send from them. Confirmation does not require it.

When the code does not arrive

Wait a minute. The first message to a fresh domain sometimes takes longer.

Check the Junk folder. Each mailbox has one and its contents are visible in the dashboard.

Check the address for a typo. Copy it from the mailbox card.

Requested the code again? Every new request invalidates the previous one — only the latest works.

The form rejected the address. Then no message was sent. Take an address on another domain from your order.

GitHub-specific: your address is visible in commits

This is the part with no equivalent in our other guides, and the part people find out about late.

Every commit carries the author’s email, and in a public repository anyone can read it. If you configure Git on your machine with this address, it lands in the public history of all your commits — permanently, because you cannot rewrite other people’s clones of the repository.

GitHub answers this with two settings in your email preferences:

  • Keep my email address private — GitHub issues you a service address of the form id+username@users.noreply.github.com and commits are attributed to it.
  • Block command line pushes that expose my email — an attempt to push a commit carrying the real address simply fails rather than leaking.

Turn both on before your first commit. Your Mailcraft mailbox stays the account address: notifications and recovery come to it, and it is nowhere in the public history.

About two-factor authentication

GitHub requires a second factor — its rule for everyone who publishes code. An authenticator app, a security key or SMS all work. Mail does not cover this step and cannot replace it.

The mailbox matters precisely here: if you lose the second factor, recovery runs through the account address. Disposable mail is long dead by then.

FAQ

How long does a mailbox live?
As long as its domain’s registration — “Permanent” on the storefront, the same on all three tiers.

Can I add a second address to the account?
Yes, GitHub lets you keep several verified addresses and choose a primary one. The same address cannot belong to two accounts.

Can I send mail from the mailbox?
No, receiving only. GitHub does not require you to send.

What if a domain is rejected?
Take an address on another domain from the same order — orders are spread across several domains.

Which tier should I pick?
Any will receive the message. For a long-lived account Standard or Premium makes more sense — fewer neighbours on the domain.

Further reading

Related reads