2

By default, EXM creates an engagement plan for each message being created. There is a specific state "Invalid Address".

enter image description here

Currently we have quite a few contacts in there and I just want to ask, what are the rules for this state? How EXM qualifies that this or that email address is invalid? From what I can see all emails specified have valid format. Does EXM verify if that email exists or something?

1 Answer 1

3

During dispatch, EXM validates the email address of each contact. If the email address is determined to be invalid, the contact is enrolled in the "Invalid Address" state.

EXM uses a regular expression to validate the address. You'll find the setting in the /App_Config/Include/EmailExperience/Sitecore.EmailExperience.Core.config file.

For EXM 3.3:

<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])?$" />

For EXM 3.4:

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

For EXM 3.4 update 1:

<setting name="EmailValidation" value="^[\p{L}0-9\+\-_\!\$\%\&amp;\*\?]+(?:\.[\p{L}0-9\+\-_\'\!\$\%\&amp;\*\?]+)*@(([\p{L}0-9\-]+(?:\.[\p{L}0-9]+)+)|(\[\d{1,3}(\.\d{1,3}){3}\]))$" />

I suggest you use the EXM 3.4 update 1 expression.

4
  • Hi Jacob, Apparently your suggestion didn't fix our problems... We are using Sitecore.NET 8.2 (rev. 160729) and Email Experience Manager 4.0.0 rev. 161028 on it. In the send-outs of approximately 30K emails, 300 of customers constantly go to Invalid Address state for every message we try. I got 5 emails that were reported from the client the support team was able to communicate through with end users. I validated them through your expression using regex101.com and they all qualified as valid emails. So there should be something more. How I can figure that out? Commented Apr 11, 2017 at 15:24
  • As an additional info: We are using SendGrid as a delivery service and from what I can see there are no records of attemts to send mails to those customers so that doesn't go to delivery and blocked by EXM before. Can you help to find the reason please? Commented Apr 11, 2017 at 15:26
  • Sure, I'll try, though Stack Exchange is not really suited for a conversation. I suggest you either join the public Sitecore Slack EXM channel (sitecorechat.slack.com/messages/C3FDDF9LJ), create´a new question or update the existing one. You should start out by looking at the EDS and EXM log files though. The answer is probably in the EDS log file. Commented Apr 12, 2017 at 12:39
  • The problem was that EmailValidation setting was declared in 2 files: /App_Config/Sitecore.config and /App_Config/Include/EmailExperience/Sitecore.EmailExperience,Core.config My patch in "z" config folder used the patch:attribute and in the showconfig.aspx admin page it showed the correct value which confused me most... But then I found that in the log.txt there is a message about duplicate setting and that makes Sitecore to use default one. I guess there is some bug around configuration reader. I would expect the showconfig.aspx page to show me the actual value that is being used... Commented May 30, 2017 at 9:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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