⏰ Save Yourself Time
Want to make the entire FAQ below tailored for you and easier to read?
Frequently Asked Questions
Table of Contents
- How do I get started and set up email forwarding
- How to Send Mail As using Gmail
- Why am I not receiving my test emails
- Why are my test emails sent to myself in Gmail showing as "suspicious"
- Can I remove the via forwardemail dot net in Gmail
- Can I forward emails to ports other than 25 (e.g. if my ISP has blocked port 25)
- Do you offer a money back guarantee on paid plans
- If I switch plans do you pro-rate and refund the difference
- Do you support webhooks
- Can I just use this email forwarding service as a "fallback" or "fallover" MX server
- Can I disable specific aliases
- Can I forward emails to multiple recipients
- Can I have multiple global catch-all recipients
- Is there a maximum limit on the number of email addresses I can forward to per alias
- Can I recursively forward emails
- Can people unregister or register my email forwarding without my permission
- How is it free
- What is the max email size limit
- Do you store emails and their contents
- Do you store logs of emails
- Do you read my emails
- Does it support the plus + symbol for Gmail aliases
- Does this forward my email's headers
- Is this well-tested
- Do you pass along SMTP response messages and codes
- How do you prevent spammers and ensure good email forwarding reputation
- Can I "send mail as" in Gmail with this
- Can I "send mail as" in Outlook with this
- Can I "send mail as" in Apple Mail and iCloud Mail with this
- Can I forward unlimited emails with this
- How do I add a profile picture to my email address
- What is the difference between Free and Enhanced Protection
- Do you support email best practices
- Do you offer unlimited domains for one price
- Which payment methods do you accept
- Will you ever increase prices
- How do you perform DNS lookups on domain names
- How fast is this service
How do I get started and set up email forwarding
user@gmail.com
with the email address you want to forward emails to (if it isn't already accurate). Similarly be sure to replace example.com
with your custom domain name (if it isn't already accurate).
- If you have already registered your domain name somewhere, then you must completely skip this step and go to step two! Otherwise you can click here to register your domain name.
-
Do you remember where you registered your domain? Once you remember this, then follow the instructions below:
Important: You must open a new tab and log in to your domain registrar. You can easily click on your "Registrar" below to automatically do this. In this new tab, you must navigate to the DNS management page at your registrar – and we have provided the step by step navigation steps below under the "Steps to Configure DNS" column. Once you've navigated to this page in the new tab, you can return to this tab and proceed to step three below. Do not close the opened tab yet; you will need it for future steps!
Registrar Steps to Configure DNS 1&1 Sign in Domain Center (Select your domain) Edit DNS Settings Amazon Route 53 Sign in Hosted Zones (Select your domain) Aplus.net Sign in My Servers Domain Management DNS Manager Bluehost FOR ROCK: Sign in Domains (Click the ▼ icon next to manage) DNS
FOR LEGACY: Sign in Domains Zone editor (Select your domain)Cloudflare Sign in DNS DNS Made Easy Sign in DNS (Select your domain) DNSimple Sign in (Select your domain) DNS Manage Digital Ocean Sign in Networking Domains (Select your domain) More Manage Domain Domain.com Sign in In card view, click manage on your domain In list view, click the gear icon DNS & Nameservers DNS Records Domains.com
WatchSign in (Select your domain) Manage (click gear icon) Click on DNS & Nameservers in left-hand menu DreamHost Sign in Panel Domains Manage Domains DNS Dyn Sign in Overview Manage Simple Editor Records Gandi Sign in (Select your domain) Management Edit the zone GoDaddy
WatchSign in Manage My Domains (Select your domain) Manage DNS Google Domains
WatchSign in (Select your domain) Configure DNS Namecheap
WatchSign in Domain List (Select your domain) Manage Advanced DNS Netlify Sign in (Select your domain) Setup Netlify DNS Network Solutions Sign in Account Manager My Domain Names (Select your domain) Manage Change Where Domain Points Advanced DNS Shopify
WatchSign in Managed Domains (Select your domain) DNS Settings Squarespace Sign in Home menu Settings Domains (Select your domain) Advanced settings Custom Records Vercel's Now Using now
CLInow dns add [domain] '@' MX [record-value] [priority]
Weebly Sign in Domains page (Select your domain) DNS Wix Sign in Domains page (Click ...
icon) Select Manage DNS RecordseNom Sign in Domains My Domains Other Important: Don't see your registrar name listed here? Simply search on the Internet for "how to change DNS records on $REGISTRAR" (replacing $REGISTRAR with the name of your registrar – e.g. "how to change DNS records on GoDaddy" if you're using GoDaddy). - Using your registrar's DNS management page (the other tab you have opened), set the following "MX" records:
Important: Note that there should be NO other MX records set. Both records shown below MUST exist. Be sure there are no typos; and you have both mx1 and mx2 spelled correctly. If there were already MX records that existed, please delete them completely. The "TTL" value does not need to be 3600, it could be a lower or higher value if necessary.
Name/Host/Alias TTL Record Type Priority Value/Answer/Destination @ or leave blank 3600 MX 10 mx1.forwardemail.net
@ or leave blank 3600 MX 10 mx2.forwardemail.net
- Using your registrar's DNS management page (the other tab you have opened), set the following "TXT" record(s):
Important: If you are on a paid plan, then you must completely skip this step and go to step five! If you are not on a paid plan, then your forwarded addresses will be publicly searchable – go to My Account Domains and upgrade your domain to a paid plan if desired. If you would like to learn more about paid plans see our Pricing page. Otherwise you can continue to choose one or more combinations from Option A to Option F listed below.
Option A: If you are forwarding all emails from your domain, (e.g. "all@example.com", "hello@example.com", etc) to a specific address "user@gmail.com":Name/Host/Alias TTL Record Type Value/Answer/Destination @ or leave blank 3600 TXT forward-email=user@gmail.com
Tip: Make sure to replace the values above in the "Value/Answer/Destination" column with your own email address. The "TTL" value does not need to be 3600, it could be a lower or higher value if necessary. A lower time to live ("TTL") value will ensure any future changes made to your DNS records are propagated throughout the Internet quicker – think of this as how long it will be cached in-memory (in seconds). You can learn more about TTL on Wikipedia.
Option B: If you just need to forward a single email address (e.g. "hello@example.com" to "user@gmail.com"; this will also forward "hello+test@example.com" to "user+test@gmail.com" automatically):Name/Host/Alias TTL Record Type Value/Answer/Destination @ or leave blank 3600 TXT forward-email=hello:user@gmail.com
Option C: If you are forwarding multiple emails, then you'll want to separate them with a comma:Name/Host/Alias TTL Record Type Value/Answer/Destination @ or leave blank 3600 TXT forward-email=hello:user@gmail.com,support:user@gmail.com
Option D: You can have an infinite amount of forwarding emails setup – just make sure to not wrap over 255 characters in a single-line and start each line with "forward-email=". An example is provided below:Name/Host/Alias TTL Record Type Value/Answer/Destination @ or leave blank 3600 TXT forward-email=hello:user@gmail.com,support:user@gmail.com
@ or leave blank 3600 TXT forward-email=help:user@gmail.com,foo:user@gmail.com
@ or leave blank 3600 TXT forward-email=orders:user@gmail.com,baz:user@gmail.com
@ or leave blank 3600 TXT forward-email=info:user@gmail.com,beep:user@gmail.com
@ or leave blank 3600 TXT forward-email=errors:user@gmail.com,boop:user@gmail.com
Option E: You can also specify a domain name in your TXT record to have global alias forwarding (e.g. "user@example.com" will get forwarded to "user@example.net"):Name/Host/Alias TTL Record Type Value/Answer/Destination @ or leave blank 3600 TXT forward-email=example.net
Option F: You can even use webhooks as a global or individual alias to forward emails to. See the example and full section on webhooks titled Do you support webhooks below.Name/Host/Alias TTL Record Type Value/Answer/Destination @ or leave blank 3600 TXT forward-email=alias:https://requestbin.com/r/en8pfhdgcculn
- Using your registrar's DNS management page (the other tab you have opened), additionally set the following "TXT" record:
Name/Host/Alias TTL Record Type Value/Answer/Destination @ or leave blank 3600 TXT v=spf1 a mx include:spf.forwardemail.net -all
Important: If you are using G Suite, you'll need to appendinclude:_spf.google.com
to the value above, for example:
v=spf1 a mx include:spf.forwardemail.net include:_spf.google.com -all
Tip: If you already have a similar line with "v=spf1", then you'll need to appendinclude:spf.forwardemail.net
right before any existing "include:host.com" records and before the "-all" in the same line, for example:
v=spf1 a mx include:spf.forwardemail.net include:host.com -all
Note that there is a difference between "-all" and "~all". The "-" indicates that the SPF check should FAIL if it does not match, and "~" indicates that the SPF check should SOFTFAIL. We recommend to use the "-all" approach to prevent domain forgery. - Verify your DNS records using our "Verify Records" tool available at My Account Domains Setup.
- Send a test email to confirm it works. Note that it might take some time for your DNS records to propagate.
Tip: If you are not receiving test emails, or receive a test email that says "Be careful with this message", then see the answers for Why am I not receiving my test emails and Why are my test emails sent to myself in Gmail showing as "suspicious" respectively.
- If you wish to "Send Mail As" from Gmail, then you will need to watch this video, or follow the steps under How to Send Mail As Using Gmail below.
How to Send Mail As using Gmail
-
You need to have Gmail's Two-Factor Authentication enabled for this to work. Visit https://www.google.com/landing/2step/ if you do not have it enabled.
-
Once Two-Factor Authentication is enabled (or if you already had it enabled), then visit https://myaccount.google.com/apppasswords.
-
When prompted for "Select the app and device you want to generate the app password for":
- Select "Mail" under the drop-down for "Select app"
- Select "Other" under the drop-down for "Select device"
- When prompted for text input, enter your custom domain's email address you're forwarding from (e.g. "hello@example.com" - this will help you keep track in case you use this service for multiple accounts)
-
Copy the password to your clipboard that is automatically generated
Important: If you are using G Suite, visit your admin panel Apps G Suite Settings for Gmail Advanced settings and make sure to check "Allow users to send mail through an external SMTP server...". There will be some delay for this change to be activated, so please wait a few minutes. -
Go to Gmail and under Settings Accounts and Import Send mail as, click "Add another email address"
-
When prompted for "Name", enter the name that you want your email to be seen as "From" (e.g. "Elon Musk")
-
When prompted for "Email address", enter the email address with the custom domain you used above (e.g. "hello@example.com")
-
Uncheck "Treat as an alias"
Tip: If you prefer the recipient to reply directly to your Gmail address, then leave this checked. To learn more, follow these instructions by Gmail on this topic. -
Click "Next Step" to proceed
-
When prompted for "SMTP Server", enter
smtp.gmail.com
and leave the port as587
-
When prompted for "Username", enter the portion of your Gmail address without the gmail.com part (e.g. just "user" if my email is user@gmail.com)
Important: If the "Username" portion is autofilled, then you will need to change this to the username portion of your Gmail address instead. -
When prompted for "Password", paste from your clipboard the password you generated in step 2 above
-
Leave the radio button checked to "Secured connection using TLS"
-
Click "Add Account" to proceed
-
Open a new tab to Gmail and wait for your verification email to arrive (you will receive a verification code that confirms you are the owner of the email address you are attempting to "Send Mail As")
-
Once it arrives, copy and paste the verification code at the prompt you received in the previous step
-
Once you've done that, go back to the email and click the link to "confirm the request". You need to do this step and the previous step for the email to be correctly configured.
Why am I not receiving my test emails
If you're sending a test email to yourself using the "Send Mail As" feature, then it will not show up in your inbox due to this widely known official Gmail answer.
If you continue to have issues, then it is most likely to be an issue with DNS propagation. You will need to wait a bit longer and try again (or try setting a lower TTL value on your TXT records).
Still having issues? Please file a Help request so we can help investigate the issue and find a quick resolution.
Why are my test emails sent to myself in Gmail showing as "suspicious"
If you see this error message in Gmail when you send a test to yourself, or when a person you're emailing with your alias sees an email from you for the first time, then please do not worry – as this is a built-in safety feature of Gmail.
You can simply click "Looks safe". For example, if you were to send a test message using the send mail as feature (to someone else), then they will not see this message.
However if they do see this message, it's because they were normally used to seeing your emails come from john@gmail.com instead of john@customdomain.com (just an example). Gmail will alert the users just to make sure things are safe just in case, there is no workaround.
Can I remove the via forwardemail dot net in Gmail
This is ONLY applicable if you are using the How to Send Mail As using Gmail feature. Currently there is no workaround for this, and it affects all service providers (not just us). The workaround is to use a custom SMTP server. However we do not offer SMTP yet.
We plan to release our very own SMTP service (not just forwarding, but email in general), which would alleviate this. Gmail automatically adds this and there is no current workcaround. Other email forwarding services with similar features to ours will still incur this same issue too (and other email forwarding solutions simply do not offer the level of privacy we do).
If you want to get notified when this is released, you can email smtp@forwardemail.net and we'll send you a notification once it's released. Or just sign up for an account here if you haven't already!
Can I forward emails to ports other than 25 (e.g. if my ISP has blocked port 25)
Yes, as of May 5, 2020 we have added this feature. Right now the feature is domain-specific, as opposed to alias-specific. If you require it to be alias-specific, please contact us to let us know of your needs.
If you are on the free plan, then simply add a new DNS TXT record as shown below, but change the port from 25 to the port of your choosing.
For example, if I want all emails that go to example.com
to forward to alias recipients' SMTP port of 1337 instead of 25:
Name/Host/Alias | TTL | Record Type | Value/Answer/Destination |
---|---|---|---|
@ or leave blank | 3600 | TXT | forward-email-port=1337 |
Name/Host/Alias | TTL | Record Type | Value/Answer/Destination |
---|---|---|---|
@ or leave blank | 3600 | TXT | forward-email=example.com |
Do you offer a money back guarantee on paid plans
Yes! We offer a 30-day money back guarantee on all paids plans if you are not satisfied with our service.
We do not ask any questions and simply process the refund within 5-7 business days.
To request a refund, please send an email from the email address verified on your account to: refunds@forwardemail.net
If I switch plans do you pro-rate and refund the difference
Yes, we will manually process your refund for you and email you once complete. You will get a notification regarding the refund amount when you switch plans.
Do you support webhooks
Yes, as of May 15, 2020 we have added this feature. You can simply add webhook(s) exactly like you would with any recipient! Please ensure that you have the "http" or "https" protocol prefixed in the webhook's URL.
If you are on the free plan, then simply add a new DNS TXT record as shown below:
For example, if I want all emails that go to alias@example.com
to forward to a new request bin test endpoint:
Name/Host/Alias | TTL | Record Type | Value/Answer/Destination |
---|---|---|---|
@ or leave blank | 3600 | TXT | forward-email=alias:https://requestbin.com/r/en8pfhdgcculn |
Or perhaps you want all emails that go to example.com
to forward to this endpoint:
Name/Host/Alias | TTL | Record Type | Value/Answer/Destination |
---|---|---|---|
@ or leave blank | 3600 | TXT | forward-email=https://requestbin.com/r/en8pfhdgcculn |
{
"attachments": [],
"headers": {},
"headerLines": [
{
"key": "dkim-signature",
"line": "DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=forwardemail.net;\r\n q=dns/txt; s=default; bh=fdkeB/A0FkbVP2k4J4pNPoeWH6vqBm9+b0C3OY87Cw8=;\r\n h=from:subject:date:message-id:to:mime-version:content-type:content-transfer-encoding;\r\n b=KJZp0q0u/cQhcjwilKMainmlystwHgCZ7/ncK1uBmmdGoaXlQcMHsfenLyn/uribhMVrdfWw6\r\n YhQ5AIOAGoft/fwpGhl3zP1b5qrPwYu0kLMPr2MSwkLo0YVdbHB6xF+VGeg2vaduJk6CipXjMW7\r\n Mlohmvjw0m1tnN6dAYGOkwQ="
},
{
"key": "message-id",
"line": "Message-ID: <123.abc@test>"
},
{
"key": "date",
"line": "Date: Thu, 9 Nov 2000 10:44:00 -0800 (PST)"
},
{
"key": "to",
"line": "To: webhook@example.com"
},
{
"key": "from",
"line": "From: Test <test@user.com>"
},
{
"key": "subject",
"line": "Subject: testing webhooks"
},
{
"key": "mime-version",
"line": "Mime-Version: 1.0"
},
{
"key": "content-type",
"line": "Content-Type: text/plain; charset=us-ascii"
},
{
"key": "content-transfer-encoding",
"line": "Content-Transfer-Encoding: 7bit"
}
],
"text": "Test\n",
"textAsHtml": "<p>Test</p>",
"subject": "testing webhooks",
"date": "2000-11-09T18:44:00.000Z",
"to": {
"value": [
{
"address": "webhook@example.com",
"name": ""
}
],
"html": "<span class=\"mp_address_group\"><a href=\"mailto:webhook@example.com\" class=\"mp_address_email\">webhook@example.com</a></span>",
"text": "webhook@example.com"
},
"from": {
"value": [
{
"address": "test@example.com",
"name": "Test"
}
],
"html": "<span class=\"mp_address_group\"><span class=\"mp_address_name\">Test</span> <<a href=\"mailto:test@example.com\" class=\"mp_address_email\">test@example.com</a>></span>",
"text": "Test <test@examplecom>"
},
"messageId": "<123.abc@test>",
"html": false,
"raw": "DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=forwardemail.net;\r\n q=dns/txt; s=default; bh=fdkeB/A0FkbVP2k4J4pNPoeWH6vqBm9+b0C3OY87Cw8=;\r\n h=from:subject:date:message-id:to:mime-version:content-type:content-transfer-encoding;\r\n b=KJZp0q0u/cQhcjwilKMainmlystwHgCZ7/ncK1uBmmdGoaXlQcMHsfenLyn/uribhMVrdfWw6\r\n YhQ5AIOAGoft/fwpGhl3zP1b5qrPwYu0kLMPr2MSwkLo0YVdbHB6xF+VGeg2vaduJk6CipXjMW7\r\n Mlohmvjw0m1tnN6dAYGOkwQ=\r\nMessage-ID: <123.abc@test>\r\nDate: Thu, 9 Nov 2000 10:44:00 -0800 (PST)\r\nTo: webhook@example.com\r\nFrom: Test <test@example.com>\r\nSubject: testing webhooks\r\nMime-Version: 1.0\r\nContent-Type: text/plain; charset=us-ascii\r\nContent-Transfer-Encoding: 7bit\r\n\r\nTest\r\n"
}
Note that we use the mailparser library's "simpleParser" method to parse the message into a JSON friendly object, and also append the "raw" property with the raw email message as a String.
Webhook HTTP requests will retry up to 10 times (the exact same number of retries we permit for normal SMTP), with 20 seconds max timeout per endpoint POST request. We will retry automatically based off the default status and error codes used in superagent's retry method (this package is also maintained by the creator of Forward Email).
Can I just use this email forwarding service as a "fallback" or "fallover" MX server
Yes, but this is NOT recommended as this is an incredibly rare edge case.
If you use Google Business for email, and want to use our server as a fallback so your mail still gets delivered, then just specify the Google mail servers with a lower priority than our mail servers. An example is provided below:
Name/Host/Alias | TTL | Record Type | Priority | Value/Answer/Destination |
---|---|---|---|---|
@ or leave blank | 3600 | MX | 1 | ASPMX.L.GOOGLE.COM |
@ or leave blank | 3600 | MX | 5 | ALT1.ASPMX.L.GOOGLE.COM |
@ or leave blank | 3600 | MX | 5 | ALT2.ASPMX.L.GOOGLE.COM |
@ or leave blank | 3600 | MX | 10 | ALT3.ASPMX.L.GOOGLE.COM |
@ or leave blank | 3600 | MX | 10 | ALT4.ASPMX.L.GOOGLE.COM |
@ or leave blank | 3600 | MX | 20 | mx1.forwardemail.net |
@ or leave blank | 3600 | MX | 30 | mx2.forwardemail.net |
Can I disable specific aliases
Yes! As of February 6, 2020 we have added this feature. Simply edit your DNS TXT record and prefix the alias with an exclamation mark. Note that you must preserve the ":" mapping, as this is required if you ever decide to toggle this off (and it's also used for importing in our paid plans).
If you prefix an alias with "!" (exclamation mark) then it will still return successful respond codes to senders attempting to send to this address, but the emails themselves will go nowhere; to a blackhole.
Emails sent to disabled addresses will respond with a 250
(message queued) status code, but the emails will not actually be delivered to the recipient(s).
For example, if I want all emails that go to alias@example.com
to stop flowing through to user@gmail.com
:
Name/Host/Alias | TTL | Record Type | Value/Answer/Destination |
---|---|---|---|
@ or leave blank | 3600 | TXT | forward-email=!alias:user@gmail.com |
Name/Host/Alias | TTL | Record Type | Value/Answer/Destination |
---|---|---|---|
@ or leave blank | 3600 | TXT | forward-email=!alias:nobody@forwardemail.net |
Name/Host/Alias | TTL | Record Type | Value/Answer/Destination |
---|---|---|---|
@ or leave blank | 3600 | TXT | forward-email=!alias |
Can I forward emails to multiple recipients
Yes, absolutely. Just specify multiple recipients in your TXT records.
For example, if I want an email that goes to hello@example.com
to get forwarded to user+a@gmail.com
and user+b@gmail.com
, then my TXT record would look like this:
Name/Host/Alias | TTL | Record Type | Value/Answer/Destination |
---|---|---|---|
@ or leave blank | 3600 | TXT | forward-email=hello:user+a@gmail.com,hello:user+b@gmail.com |
Or, you could specify them in two separate lines, such as this:
Name/Host/Alias | TTL | Record Type | Value/Answer/Destination |
---|---|---|---|
@ or leave blank | 3600 | TXT | forward-email=hello:user+a@gmail.com |
@ or leave blank | 3600 | TXT | forward-email=hello:user+b@gmail.com |
It's up to you!
Can I have multiple global catch-all recipients
Yes, you can. Just specify multiple global catch-all recipients in your TXT records.
For example, if I want every email that goes to *@example.com
(the asterisk meaning its a wildcard aka catch-all) to get forwarded to user+a@gmail.com
and user+b@gmail.com
, then my TXT record would look like this:
Name/Host/Alias | TTL | Record Type | Value/Answer/Destination |
---|---|---|---|
@ or leave blank | 3600 | TXT | forward-email=user+a@gmail.com,user+b@gmail.com |
Or, you could specify them in two separate lines, such as this:
Name/Host/Alias | TTL | Record Type | Value/Answer/Destination |
---|---|---|---|
@ or leave blank | 3600 | TXT | forward-email=user+a@gmail.com |
@ or leave blank | 3600 | TXT | forward-email=user+b@gmail.com |
It's up to you!
Is there a maximum limit on the number of email addresses I can forward to per alias
Yes, the default limit is 10. This does NOT mean that you can only have 10 aliases on your domain name. You can have as many aliases as you want (an unlimited amount). It means that you can only forward one alias to 10 unique email addresses. You could have hello:user+1@gmail.com
, hello:user+2@gmail.com
, hello:user+3@gmail.com
, … (from 1-10) – and any emails to hello@example.com
would get forwarded to user+1@gmail.com
, user+2@gmail.com
, user+3@gmail.com
, … (from 1-10).
Can I recursively forward emails
Yes, you can, however you still must adhere to the maximum limit. If you have hello:elon@example.com
and elon:user@gmail.com
, then emails to hello@example.com
would get forwarded to elon@example.com
and user@gmail.com
. Note that an error will be thrown if you attempt to recursively forward emails.
Can people unregister or register my email forwarding without my permission
We use MX and TXT record verification, therefore if you add this service's respective MX and TXT records, then you're registered. If you remove them, then you're unregistered. You have ownership of your domain and DNS management, so if someone has access to that then that's a problem.
How is it free
The service continues to run thanks to donations and users that upgraded to paid plans. We want to provide a free alternative (since we feel bad) for people that are using closed-source forwarding services (and subsequently risking their privacy and security).
What is the max email size limit
We default to a 50MB size limit, which includes content, headers, and attachments. Note that services such as Gmail and Outlook allow only 25MB size limit, and if you exceed the limit when sending to addresses at those providers you will receive an error message.
An error with the proper response code is returned if the file size limit is exceeded.
Do you store emails and their contents
No, absolutely not. See our Privacy Policy.
Do you store logs of emails
No, absolutely not. See our Privacy Policy.
Do you read my emails
No, absolutely not. We do not store logs. See our Privacy Policy.
Many other email forwarding services unethically read your email. This is not in alignment with our principles and philosophy on software.
We believe you should have a right to privacy and we strictly respect it.
The code that is deployed to the server is open-source software on GitHub for transparency and to build trust.
Does it support the plus + symbol for Gmail aliases
Yes, absolutely.
Does this forward my email's headers
Yes, absolutely.
Is this well-tested
Yes, it has tests written with ava and also has code coverage.
Do you pass along SMTP response messages and codes
Yes, absolutely. For example if you're sending an email to hello@example.com
and it's registered to forward to user@gmail.com
, then the SMTP response message and code from the "gmail.com" SMTP server will be returned instead of the proxy server at "mx1.forwardemail.net" or "mx2.forwardemail.net".
How do you prevent spammers and ensure good email forwarding reputation
Per documentation and suggestions from Google at https://support.google.com/a/answer/175365?hl=en, along with best practice, including:
-
DNS Blacklists: we test senders IP's against the Spamhaus DNS blacklists, if any fail, then the sender is not permitted to send the message and is returned a detailed error message with instructions on how to de-list themselves from the specific blacklists they're listed under.
-
Anti-Spam and Anti-Phishing Scanner: we built from scratch and use Spam Scanner for anti-spam prevention (it uses a Naive Bayes classifier under the hood). We built this because we were not happy with rspamd nor SpamAssassin, nor were we happy with their lack of privacy-focused policies and public corpus datasets. Spam Scanner checks a message for spam, phishing, executables, viruses, and more, while completely respecting your privacy.
-
SPF and DKIM: through checking if an SPF record exists for a sender, and if so, we reverse-lookup the SMTP connection's remote address to validate it matches the SPF record, otherwise it's rejected. If an SPF record does not exist, then we require DKIM verification. If DKIM headers are passed and fail, then it is rejected as well. If no DKIM headers are passed, then we assume that DKIM validation passes.
-
MX Record Test: through checking if the sender's from address domain has MX records (so it's actually coming from a mail exchange/SMTP server), otherwise it's rejected.
-
Fully Qualified Domain Name Test: validates that senders SMTP connections are from a fully qualified domain name ("FQDN"), meaning no IP addresses, they must have a valid domain name resolved.
-
TXT Record Test: through checking if the email address the sender is trying to send to has a TXT DNS record with a valid email forwarding setup. The SSL certificates (main domain name or alternative names) of all MX servers of the forwarding destination must match the MX entry.
-
ARC: we use the Authentication-Results header and validate it against the sending domain's DMARC policy.
Can I "send mail as" in Gmail with this
Yes! As of October 2, 2018 we have added this feature. See How to Send Mail As using Gmail above!
Can I "send mail as" in Outlook with this
Yes! As of October 2, 2018 we have added this feature. Simply view these two links from Microsoft below:
- https://support.office.com/en-us/article/add-or-remove-an-email-alias-in-outlook-com-459b1989-356d-40fa-a689-8f285b13f1f2
- https://support.office.com/en-us/article/send-email-from-a-different-address-in-outlook-com-ccba89cb-141c-4a36-8c56-6d16a8556d2e
You should also set the SPF record for Outlook in your DNS configuration TXT record.
include:spf.protection.outlook.com
to your SPF TXT record, for example:
v=spf1 a mx include:spf.forwardemail.net include:spf.protection.outlook.com -all
Can I "send mail as" in Apple Mail and iCloud Mail with this
Unfortunately Apple does not allow this, regardless of which service you use. However you can use the Mail app along with your domain's email account.
Can I forward unlimited emails with this
Practically yes - the only current restriction is that senders by unique email address are limited to sending (300) emails per hour through the system.
If this limit is exceeded we send a "451" response code which tells the senders mail server to retry later.
How do I add a profile picture to my email address
If you're using Gmail, then follow these steps below:
- Go to https://google.com and sign out of all email accounts
- Click "Sign In" and on the drop-down click on "other account"
- Select "Use another account"
- Select "Create account"
- Select "Use my current email address instead"
- Enter your custom domain name email address
- Retrieve the verification email sent to your email address
- Enter the verification code from this email
- Complete profile information for your new Google account
- Agree to all Privacy and Terms of Use policies
- Go to https://google.com and in the top right corner, click on your profile icon, and click on the "change" button
- Upload a new photo or avatar for your account
- Changes will take approximately 1-2 hours to propagate, but sometimes may be very quick.
- Send a test email and the profile photo should appear.
What is the difference between Free and Enhanced Protection
The Free plan requires you to use public DNS records to store your forwarding configuration. Anyone with a computer can lookup your forwarding configuration in a terminal if you are on the Free plan. Unlike the Free plan, the Enhanced Protection plan uses a cryptographically generated random string to store your forwarding configuration privately.
Free Plan | Enhanced Protection Plan |
---|---|
forward-email=user@gmail.com |
forward-email-site-verification=m8d7o8K4Il |
Do you support email best practices
Yes. We have built-in support for SPF, DKIM, DMARC, ARC, and SRS across all plans. We have also worked extensively with the original authors of these specifications and other email experts to ensure perfection and high deliverability.
Do you offer unlimited domains for one price
Yes. Regardless of which plan you are on, you will pay only one monthly rate – which covers all of your domains.
Which payment methods do you accept
We accept credit cards using Stripe and payment with PayPal – for one-time payments and monthly or yearly subscriptions.
If you need to make payment with Bitcoin or other means, please email us at support@forwardemail.net.
Will you ever increase prices
No. Prices will never increase. Unlike other companies, we will never shutdown our service either.
How do you perform DNS lookups on domain names
We use CloudFlare's privacy-first consumer DNS service (see announcement here). We set 1.1.1.3
and 1.0.0.3
as the DNS servers (see https://developers.cloudflare.com/1.1.1.1/1.1.1.1-for-families/) using /etc/resolv.conf
on our servers and test environments.
How fast is this service
The latest version, v2 (released on May 6, 2019) was a major rewrite from v1 and focuses on performance through streams. Nodemailer's prolific author Andris Reinman (@andris9) helped us switch off using the mailparser
library and use mailsplit
instead with some custom transform logic to split the header and the body of the message without affecting the body. This allows us to perform operations on headers very fast (such as security checks and for SPF/DKIM/DMARC compliance).
In other words, the latest version of this service uses streams purely now and is lightning fast. The older version v1 also had some logic not in the most optimal order of operations – but now v2 does less memory/network intense operations first (and returns early if possible to send a response as quickly as possible to the SMTP client). We plan to continue to optimize speed, enhance features, and improve this service over time.
At no point in time do we write to disk or store emails – everything is done in-memory thanks to Node.js's streams and transforms! 🎉