Email Extended

Stable version 1.0.0 (Compatible with OutSystems 11)
Published on 18 Mar by 
 (5 ratings)

Email Extended

Extends the email capabilities of the platform. With this library you can send emails without referencing the emails' module, and you can set test email list per application.
Read more
No references to Emails modules
If you want just to send emails without upwards (or any) reference, you can call the actionSendEmail in the module EmailExtended_lib. The action receives almost the same parameters as theEmail node, so it's pretty straightforward to use. TheSendEmail action relies on OutSystems Email libraries, this means that email logs and dispatches to the smtp server act like normalEmail calls.

Custom email lists for each project/app/module/email
If you want to set a different test email list for each project/application/module/email/project you can use the Email Extended app to configure as many list as you want. For each list you can specify which emails addresses () you want to redirect them to.

Email Address Validation - Check if a given string is an email address
The EmailExtended_lib also include helpers to validate the email addresses.
To validade we can rely on regex validations, or we can rely on the parser provided by the .NET Framework. We can parse an email address using the MailAddress class, which internally use MailAddressParser.  Email_isValidEmail action uses this parser to validate an email address.

Email Address Validation - Check if the domain has an email server
Having an email address marked as valid, doesn't mean we'll be able to send an email at this address. If the user types "john@doe.dom" instead of "" (".dom" instead of ".com"), we may email a domain that doesn't exist.

We can avoid this kind of typing errors by checking the provided domain exists and has an email server. Indeed, when you email a recipient, you must first ask the IP address of the email server of the recipient. This information is provided by the DNS server, and more specifically the MX or A entry.
To query the DNS server in .NET, we can use the NuGet package DnsClient (NuGetGitHub) which support .NET and .NET Core.  Email_isValidEmailWithDNSCheck will do that.

What’s new (1.0.0)
Reviews (2)
13 Jul
in version 1.0.0
Very clever solution indeed that eliminates the nightmare of upward references for email screens!
10 May
in version 1.0.0
Perfect solution to avoid upward references. You have made me very happy.