Do all valid emails contain at least one @ symbol?

Yes, per RFC5322, every email address must have one at-sign, given the basic format of [email protected]...

An addr-spec is a specific Internet identifier that contains a locally interpreted string followed by the at-sign character ("@", ASCII value 64) followed by an Internet domain.

But make sure not to validate for only one at-sign, because it's possible for an e-mail address to have several. After all, there are other RFCs!

RFC2822 gave us the ability to use quoted-strings in e-mail addresses...

3.2.2. Quoted characters

Some characters are reserved for special interpretation, such as delimiting lexical tokens. To permit use of these characters as uninterpreted data, a quoting mechanism is provided.

quoted-pair = ("" text) / obs-qp

So "@"@gmail.com is a valid email address.

Don't forget about RFC5321, either! This defines another basic procedure for having as many @ signs as you want in your email address...

Note that the backslash, "\", is a quote character, which is used to indicate that the next character is to be used literally (instead of its normal interpretation). For example, "Joe\,Smith" indicates a single nine-character user name string with the comma being the fourth character of that string.

So, then, \@@gmail.com is also a technically-valid email address.


As defined in RFC5322, section 3.4.1:

An addr-spec is a specific Internet identifier that contains a locally interpreted string followed by the at-sign character ("@", ASCII value 64) followed by an Internet domain.

https://www.rfc-editor.org/rfc/rfc5322


All valid email addresses contain the @ symbol. You can read the Internet Message Format standard for more information: https://www.rfc-editor.org/rfc/rfc5322

Specifically 3.4.1. Addr-spec specification: https://www.rfc-editor.org/rfc/rfc2822#section-3.4.1


As per RFC5322:

An addr-spec is a specific Internet identifier that contains a locally interpreted string followed by the at-sign character ("@", ASCII value 64) followed by an Internet domain.

So, yes, all email addresses must have the @ character.

Prior to the internet taking over the world, it was possible for email addresses to have other formats, like the FidoNet mail address 1:170/918.10, user number 10 at FidoNet node 1:170/918.

But given the ratio of internet users to FidoNet users currently stands at about a gazillion or more to one, that's for historical interest only.