Web3 Code Experiment: Part 2
In the previous blog post, I had signed up for a free Gmail account to manage emails for the Final Static project. As a follow-up, I am going to document the steps I took to connect it with the custom domain I had newly purchased.
Under this setup, I would essentially enjoy all the free services that come with a Gmail account (including 15 GB of cloud storage), while having a professional customer-facing email address that ends with the custom domain.
And if you happen to be in a similar situation with your project, this documentation will hopefully serve as a helpful tutorial for you as well.
Why not just use Google Workspace?
The main reason is to cut down on recurring costs, at least at the early stages.
Granted, a Google Workspace (formerly G Suite) Business Starter plan will indeed allow you to create a custom business email and get 30 GB cloud storage per user (at the time of this post).
Plus, once you have signed up for a Workspace account, you will have the option to create email “aliases” — which will be useful for setting up several different identities / message filters for your brand.
And for the sake of full disclosure, I do use Google Workspace for my *main* company email addresses.
However, if you are like me and actively run a ton of pet projects, those Workspace plan fees will add up...
Let's say you have 20 standalone projects that each uses its own domain. Even just the basic Workspace fees would come out to be:
$6.00 / user / month x 12 months x 20 projects = $1,440 per year
Cost of this setup = $0
You will only need to pay the domain fee on an annual basis.
(Side note: And given that this new project is about NFTs, I thought it's also worth mentioning that NFT domains — which you would pay once and own forever — may soon become more common, and thus further eliminating the recurring fees to "rent" web2 domains. Perhaps more on that in a future post.)
The goals of my setup
What I was trying to achieve:
Get a custom domain name (finalstatic.io) for an annual subscription fee from Google Domains
Sign up for a free Gmail account to use with the project (firstname.lastname@example.org)
Set up a custom domain email address for free (email@example.com) via Google Domains, making use of the purchased custom domain
Send email as firstname.lastname@example.org
Eliminate the need to purchase a new Google Workspace account for every new project
Make the most of all the free Google services that come with the Gmail account
Now, the step-by-step guide
1. Sign up for a free Gmail account. In my case, it's email@example.com.
2. Purchase a custom domain for your project from Google Domains.
3. From Google Domains, set up Email Forwarding: Click on Add email alias under the Email tab > type in the alias you want > enter the existing email you want to forward to > click the Add button
The * symbol acts as a wildcard here.
4. Confirm your existing email (check your Gmail inbox for the message).
At this point, you are pretty much good to go!
All emails sent to finalstatic.io can now be found in the Gmail inbox of firstname.lastname@example.org.
Simple as that!
But what if you want to be able to “send” or “reply to” emails from your custom email address?
You are probably aware that with this setup, you don't actually "send" and "receive" emails with your custom email (email@example.com for me).
You don't really touch an inbox or other folders of the custom email.
But thanks to the magic of email forwarding and Gmail alias, you will be able to act as if you are doing just that.
Additional steps to set up the “sending from” part:
Part I. Set up an App Password for your Gmail account to allow you to use the Gmail SMTP servers securely.
5. Go to the Gmail account. Click on your user icon at the upper right corner to bring up the user menu.
6. Click Manage your Google Account.
7. In the Google Account screen, click on the Security tab.
8. In the Signing in to Google section, click on the App passwords bar.
You may be asked to re-enter your password at this point.
Note: You must have 2-Step Verification enabled for the App passwords option to be available. If it is not, click on 2-Step Verification and follow the steps to enable 2-Step Verification. Then continue to set the App password.
9. In the App passwords box, select Mail for the app, select Other for the device.
10. Enter the name of your domain for the "other" device, and click Generate.
11. The Generated app password box will display a 16-character password. Copy this password. You will need it when you add your new send-as (forwarded) account.
12. Return to your Gmail screen.
Part II. Add the alias as an account to your Gmail inbox.
13. In the top right corner, click the Settings button.
14. Click the See all settings button.
15. In the Settings screen, click the Accounts and Import tab.
16. Scroll down to Send mail as and click Add another email address.
17. In the first Add another email address box, enter the name you want recipients of your email to see (such as "Support Team" or "Sales" or any other name for this contact) and the forwarded email address you are setting up.
18. Click Next Step.
Part III. Set the Gmail SMTP server as the mail server for your forwarded alias.
19. In the second Add another email address box, change the values in fields to enter the following:
- SMTP Server:
- Username: Your Gmail account (the one you are logged in as)
- Password: The generated app password you copied in Step 11.
20. Click Add Account. If you see an error message, check to make sure you have entered the SMTP server, Port, Username, and Password correctly.
21. After you have successfully added the account, return to Gmail. You will see a message from Gmail Team with the subject Gmail Confirmation: Send Mail As and the address you have just added. Follow the instructions in the message to confirm the email address.
22. When you send mail from your Gmail account, click the triangle next to your From address to choose to send the message from the account you just added.