There are many possible issues, and I will try to list all those I have come across during my times when I wondered where my email is.
Contact is unsubscribed
If the contact you are trying to preview an email with is on one of the global unsubscribe lists, or has unsubscribed or bounced status in Salesforce Marketing Cloud, then you won’t receive the email. If you check test sends in Email studio Admin section, you will see it as one of the exclusion counts.
Column does not exist
If you request nonexistent data extension column, email might render but wont be delivered. Take a look at following AMPScript:
%%[ SET @fn = "Client" IF NOT EMPTY([First Name]) THEN SET @fn = [First Name] ENDIF ]%% <h4>Dear %%=v(@fn)=%%,</h4>
Better aproach or even perhaps to mitagete this issue you can use RetrieveAttribute
function which wont throw error and email will be previewed and sent successfully.
Double quotes in the inline AMPScript
- his did not even render it just stopped rendering at the double quotes, i guess it has thrown some error that was not visible to me.
/* this script %%=redirectto(Concat(@ProductUrl1, @qpp1,"&"))=%% rendered in text version as */ %%=redirectto(Concat(@ProductUrl1, @qpp1, /*For delivery in delivery logs visible on support side. They were able to see following error: ExactTarget.InvalidFunctionException: The function call does not end with the required close parenthesis [)]Function Call: redirectto(Concat(@ProductUrl1, @qpp1,,? */
IndexOf function
It might just be a stroke of bad luck, but it happened to me when I used this function, and the email text version rendered incorrectly. Even though there were no visible AMPscript ‘leftovers,’ and it looked fairly good, the only thing off was that it did not remove attributes from the href tag. I initially thought it wouldn’t be an issue that prevents the email from sending, but boy, I was so wrong. No proof received.
https://martechnotes.com?a=b&c=d" class="..." title"...">
Dynamic sender
Sometimes, based on certain configurations you might have missed in, for example, AmpScript or a data extension, it can be used to compute a dynamic sender, which may result in the email not being sent.
Are there any other cases when the email renders but nothing is actaully received? Let me know in the comments.
GOOD TO KNOW
Always check any anomalies in the text version of rendered email as those may be the reason why email has not been delivered.