Dear IPS support,
there is a bug in the bulkmail logic when using SendGrid as external provider.
The unsubscribe link in the send email is not valid. The reason for that is the "ClickTracking" logic.
What's happening:
applications/core/extensions/core/Queue/Bulkmail.php => function "run" calls "mergeAndSend" in SendGrid implementation.
The mergeAndSend calls "compileContent" with member-parameter FALSE
"compileContent" creates the mail content, including the unsubscribe link.
Later in the code/function the "ClickTracking" is added.
IMPORTANT HINT: The place holders for email and unsubscribe key are not yet substituded in href.
The "ClickTracking" logic adds an hash value based on the email and unsubscribe key (not yet set).
Back in "mergeAndSend" the placeholders are substituded in the content.
The substituion is to late for the hash calculation in the ClickTracking function during content creation.
As consequence, the unsubscribe link in the email is invalid because of the invalid hash value!
Currently, we have multiple support requests because of this issue.
This happens only when using SendGrid, the "normal" Email logic is working correctly.
The bug invesitgation is done from my end, now it's your turn to fix this bug as soon as possible. 🙂
Hint:
There is no need for access to my communitiy suite. The isse can be reproduced in every dev-environment, once SendGrid is activated and you try to send a bulk.