I have been trying to use the built-in RFC821 address functions in Notes recently but has given up since they do not work correctly in my mind. A RFC821 – or an internet address – is in my mind composed of a local part (the part before the @-sign) and a period separated domain component (the part after the @-sign). A valid RFC821 address must contain both parts. Valid examples could be:
Notes/Domino has functions in @Formula, LotusScript and Java for working with and validating RFC821 addresses and none work as expected (probably because they all use the same C code). For example all functions will accept “jdoe@example” as a valid RFC821 address – an address which is my mind isn’t valid at all. This fact is further aggravated by the fact that I would expect to use the functions to distinguish between Notes addresses and RFC821 addresses. When the functions “work” as they do I cannot do that since jdoe@example could just as well be a Notes shortname followed by a Domino domain.
Below is a test case for LotusScript (non-blank value should indicate a valid RFC821 address).
Dim nn As New NotesName("email@example.com") Print nn.Addr821 >> firstname.lastname@example.org Set nn = New NotesName("jdoe@example") Print nn.Addr821 >> jdoe@example
The help states:
The RFC 821 address is a name followed by an at sign followed by an organization, for example, email@example.com. In an RFC 822 address, it is the part enclosed in pointed brackets. This property returns an empty string if the name does not contain an RFC 821 Internet address.
In my mind this is just plain wrong.