4

Recipient is skipped. 'Alias PII removed' is not a valid email address.

Environment: Sitecore 9.0.2

Functionality: EXM e-mail dispatch

Log on CM instance during dispatch: Recipient is skipped. 'Alias PII removed' is not a valid email address.

We are getting this error for very few e-mail ids on our CM server in the scaled environment. Looking around on the internet I came across this link from Sitecore https://kb.sitecore.net/articles/360684. This is for EXM 3.4 Initial Release

I checked the showconfig.aspx on my instance and found that we have the correct value in place.

enter image description here

<setting name="EmailValidation" value="^[a-zA-Z0-9_-]+(?:\.[a-zA-Z0-9_-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$"/>

In the configs, I came across another e-mail validator and this is being used at the time of dispatch. enter image description here

<setting name="EXM.EmailValidationRegex" value="^[\p{L}0-9\+\-_\!\$\%\&\*\?]+(?:\.[\p{L}0-9\+\-_\'\!\$\%\&\*\?]+)*@(([\p{L}0-9\-]+(?:\.[\p{L}0-9]+)+)|(\[\d{1,3}(\.\d{1,3}){3}\]))$" patch:source="Sitecore.EmailExperience.Core.config"/>

This field is having a different value.

I am trying to understand the following:

  1. shouldn't both the values should be the same?

  2. should I update the value for EXM.EmailValidationRegex with the value for EmailValidation

  • Could you add the error to the question? I assume it's the one linked, but good for SEO! – George Tucker Sep 18 at 1:47
  • @GeorgeTucker: Done. – NutsAndBolts Sep 18 at 4:17
1

The EXM.EmailValidationRegex setting is used by EXM in 9.0+ at the time of dispatch. So it should be a valid regex that would validate the email addresses according to your needs. I think the EmailValidation setting was used in earlier versions of EXM, but happy to be corrected on that if someone has more info. The doco on EXM.EmailValidationRegex is here: https://doc.sitecore.com/developers/exm/90/email-experience-manager/en/the-emailregexvalidator-and-the-urlregexvalidator-settings.html

Whether you update the EXM.EmailValidationRegex setting or not depends a little on your business requirements, but the default one should match most email addresses happily. If you're still getting messages about invalid email addresses in logs, make sure your lists are "clean" and identify any problematic addresses. If there are valid email addresses getting flagged in the logs, you may need to tweak the regex to suit, but is is more likely addresses are invalid in your contact list.

1

Yes, both regex values should be the same as they are part of one application and the validation rules should be same for entire application unless there is a business requirement to deal with two different types of email formats.

If you are dealing with emails which have special characters in it like +-_!$%&* and letters from any language then keep EXM.EmailValidationRegex's value in both places.

\p{L} - matches any kind of letter from any language

So, according to EXM.EmailValidationRegex below email addresses are valid addresses.

+-_!$%&*@test.com     - Valid email

ಕನಡ@test.com        - Valid email   

123hello@test.com     - Valid email    

Link to validate

or if you are dealing with only standard email format which doesn't include special characters and letters from any languages then use EmailValidation's in both the places.

According to EmailValidation regex only last email address is valid.

+-_!$%&*@test.com    - Invalid email

ಕನಡ@test.com       - Invalid email

123hello@test.com    - Valid email

Link to validate

I would prefer to have EXM.EmailValidationRegex value used in both places. Who knows if a website visitor submits a form with an email address which has non-ASCII characters.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.