Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: adds support for MX and TXT records #1093

Merged
merged 12 commits into from
Sep 7, 2021
Merged

feat: adds support for MX and TXT records #1093

merged 12 commits into from
Sep 7, 2021

Conversation

phenax
Copy link
Member

@phenax phenax commented Sep 2, 2021

Fixes #844

  • Add and test MX
  • Add and test TXT
  • Add proper validation for CNAME and restrict usage with MX records
  • Add restricted list of domain names
  • Update docs
  • Update maintainer docs

@phenax phenax self-assigned this Sep 2, 2021
@phenax phenax added the wip label Sep 2, 2021
@quackduck
Copy link
Contributor

Whoa, fantastic!

@phenax phenax changed the title feat: adds support for MX records feat: adds support for MX and TXT records Sep 6, 2021
@phenax
Copy link
Member Author

phenax commented Sep 6, 2021

Added MX and TXT record support. Currently working on an issue and testing out different variants. Will update the docs soon.

Design choices made in this PR

  • Only 1 TXT record can be specified here even though the standard allows multiple TXT records. This is for simplicity and can be changed in the future if needed.
  • MX records will have priority set automatically based on the order specified in the record file.
    Example:
{
  "record": {
    "MX": [
      "mx1.example.com",
      "mx2.example.com",
    ]
  }
}

Here, mx1.example.com will have priority 20 and mx2.example.com will have priority 21 and so on.

Known limitations / restrictions

  • The same review rules that apply to CNAME, apply to MX records. TXT records however can be any string.
  • MX cannot be used with a CNAME record, the user will have to create another record for their emails. This is a limitation in DNS itself. As an alternative, we can ask them to use A records instead (for github pages users)
  • Will be adding a few restrictions on subdomain names (Eg: support, help, etc) that will be in the tests

@is-a-dev/maintainers, Let me know if there's any changes needed.

@phenax phenax merged commit db1b212 into main Sep 7, 2021
@phenax phenax deleted the feat/mx-records branch September 7, 2021 10:06
@github-actions
Copy link

github-actions bot commented Sep 7, 2021

The changes have been published!! It should reflect in less than 24 hours.

Here's what you need to do next

If your domain points to a server you own, add domain-name.is-a.dev to your server config. For https, you will have to configure ssl certificate to allow the new subdomain.

For github pages users,

  • Go to your github page repo (user/user.github.io)
  • Open up the settings tab
  • Scroll down to the Github pages section
  • In the Custom domain text input, enter the domain you registered (domain-name.is-a.dev)
  • Check the Enforce HTTPS checkbox below the input
  • Give it some time to reflect and you should be good to go

Need help with your domain?

If you are having trouble setting up your domain, create an issue. I will try my best to get back to you asap!

Made a mistake in the record?

Don't worry, you can create a new pull request with the corrections

Love/Hate the service?

Love it? Leave it a star! Also consider donating so that I can keep this service running forever!
Hate it? Please leave your feedback by creating an issue. I would really like to keep improving this service for other users.

Wanna support this project?

Help me in my mission to keep this service alive forever by donating!

Buy Me A Coffee Liberapay recurring donation button

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Feedback/suggestion: Get MX record support?
4 participants