Frappe Mail can be used for non-public domain

Hi,

I’m exploring Frappe Mail as an email solution for our office environment. Our domain is an internal/private domain and is not publicly accessible over the internet.

During the setup process, I noticed that the domain needs to be verified through DNS by the Frappe Mail application. Given that our domain is not publicly resolvable, could you please advise on possible workarounds or recommended approaches to make this work for an internal-only domain?

Thanks in advance for your guidance.

@muruganc You can create the Principal (type = Domain) document directly and enable the Verified checkbox in the respective Principal Settings document to mark it as verified.

@Sagar_Sharma , sorry. I’m not getting your point.

In my mail console, it shows as below. am i missing anything?

@muruganc I mean, you can add the Principal (Domain) from the desk (ex, /desk/principal) instead of adding it via the Mail UI.

Steps:

  • Log in with the Administrator user on your site.
  • Go to the desk /desk.
  • Go to Principal via Awesomebar/Search.
  • Add a principal.

Thanks for the steps.

when click the save button. it says as below

I watched your YouTube video: https://www.youtube.com/watch?v=ck6Q1lI1Yhk on setting up self-hosted Frappe Mail, where you used a publicly routable domain accessible over the internet.

In my case, I’m using a self-hosted setup with a private domain that is only accessible within an internal LAN and not exposed to the internet.

My question is: since the setup relies on DNS verification, will it still work properly in an internal LAN environment with a private domain?

Mail Servers look up DNS records to verify the sender’s authenticity. In case you do not want your domain DNS to be accessible over the internet, then there will be some limitations, like emails from your domain can’t be sent to non-local users/domains like user@gmail.com. Similarly, you won’t be able to receive emails from non-local users like user@gmail.com.

By default, the Frappe Mail ask you to authenticate via DNS to improve the deliverability, but in cases like yours, you can still use it by forcefully ignoring the DNS record part by adding a domain and marking it verified directly from the desk.

The YT video you are referring to is kinda old now. You can follow the docs: GitHub - frappe/mail: Frappe Mail · GitHub

Okay, thanks for the update. We’re using a self-hosted setup for internal mail communication only. I’ll review the documentation and proceed with the setup, and I may reach out for your support if needed.

Sorry to bother you. Have you or your team worked on an internal email setup without public DNS verification? Have you received any tickets similar to mine?

Is there any working setup available for this use case?

We are not aware if someone is using it for private domains. But it’s straightforward if you don’t have DNS records added, it defaults to a private domain or internal setup only, as services like Gmail and outlook going to reject the emails from your domains, only internal communication is going to work.

@Sagar_Sharma , I need your help.

I got stuck at the Server Deployment. I’m not able to debug the logs. I installed the Ansible through Frappe, it got installed. have no issue with SSH. Have internet connectivity too.

@muruganc Refer to Server Ansible Play Task remains stuck in Pending - blocks Docker installation · Issue #377 · frappe/mail · GitHub

Feel free to DM me on TG (@sagar_sh) if you need help.