roundcube / roundcubemail

The Roundcube Webmail suite
https://roundcube.net
GNU General Public License v3.0
5.94k stars 1.65k forks source link

How to allow "email@tld"? #7783

Open Falci opened 3 years ago

Falci commented 3 years ago

I have a MIAB setup. And it uses roudcube as UI client. My users will update their domain's MX and point to my server.

I have an uncommon niche of clients: Handshake domains. In a nutshell: my clients domains are actually custom TLD (like myname). They can, but they don't need to have second level domains (www.myname, mail.myname).

It's a never ending battle to make it work with address like mail@myname. Emails was not planned to be used like this. But it in theory it should work.

I manage to trick some config here and there, and it's "working" (depending on the client you use).

Now, my default mail client (roudcube) doesn't accept these kind of emails.

https://github.com/roundcube/roundcubemail/blob/1cd4839fa29ad2a252d77f9ed3ac7189200c35ab/program/js/common.js#L424-L471

I updated the regex above, allowing "dotless" domains and it was enough. I don't know if this change is something interesting for rest of this community. IMO, I'd prefer to have a plugin or a setting where I can active/allow it.

My questions are:

alecpl commented 3 years ago

Are you sure this one change is enough? For example rcube_utils::email_check() will treat such addresses as invalid.

I'm not sure we need a config option or not, but this change will make our email address validation pretty useless.

Falci commented 3 years ago

I'm not that familiar with the project, can't say if more changes is required. I can tell you that I have changed that and it worked.

It won't make the validation useless, just less strict. Emails still have a size limit, still must have @, there are characters limitation, rules about first/last char. What I need is to remove the requirement of a dot and the minimum size after the @ is 1.