- Newest
- Most votes
- Most comments
Further analyzing test results, I suspect that when sending through a Postfix, AWS SES detects that it's not the first relay in the delivery chain and skips all tracking logic. This seems to make sense, as SES do not have an idea of what the previous relays did to the message (like adding it's own tracking logic) and so decides to play safe. Can someone from SES team to confirm/disprove this?
Configuration Set Name Accuracy You've mentioned double-checking the Configuration Set name. Ensure there are no typos, including any extra spaces or special characters. The name must exactly match what is configured in AWS SES.
2. Header Injection by Postfix Verify that Postfix is correctly injecting the X-SES-CONFIGURATION-SET header before relaying the email to SES. You can check this by inspecting the raw email headers before it leaves your Postfix server.
3. Header Case Sensitivity AWS SES headers are case-insensitive, but it's still good practice to use the correct casing (X-SES-CONFIGURATION-SET). Double-check that the header is exactly as expected.
4. SES SMTP Endpoint Behavior AWS SES may strip certain headers, especially if there is a misconfiguration or if the headers are incorrectly formatted. Ensure the header is injected correctly in the SMTP relay process.
5. Engagement Tracking Setup Since tracking pixels work when sending directly from the AWS Console, it suggests that the Configuration Set and VDM settings are correct. The issue might be specific to the way emails are being relayed through Postfix.
6. SMTP Authentication and Session Ensure that the SMTP session correctly authenticates with AWS SES. If there is an issue during authentication, SES might not apply the Configuration Set as expected.
7. Postfix Header Modification Check if Postfix might be modifying or stripping headers before sending them to SES. Ensure that your Postfix configuration allows for the X-SES-CONFIGURATION-SET header to pass through unchanged.
8. SES Logs and Insights Enable AWS SES sending logs (using CloudWatch) to inspect how SES is processing the emails and if it detects the X-SES-CONFIGURATION-SET header.
9. Testing with Different Clients As a test, try sending an email directly from a simple script using a library like Python's smtplib to relay through Postfix and see if the issue persists. This could help isolate whether the issue is specific to your email client or the Postfix setup.
10. AWS SES Quirks AWS SES might have specific behaviors or quirks with SMTP endpoints that are not well-documented. As a last resort, reaching out to AWS Support with your findings could help clarify if this is a known issue or if there are workarounds.
I did few more tests with the Python script (using smtplib), and here's my findings:
- Sending directly to SES SMTP - works (I get pixel at the destination and no header)
- Sending via Postfix -> SES SMTP - does not works (no pixel, no header)
- Sending via Postfix (directly to destination MX) - kinda works (I get the header, w/o the pixel of cause)
It seems there could be some interoperability issue between Postfix and SES SMTP
Relevant content
- Accepted Answerasked 2 months ago
- asked 4 years ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 5 months ago
- AWS OFFICIALUpdated a year ago
Thank you for doing some in-depth analysis here. It would be good for you to open a case so that AWS support can triage any known-issues and relay the findings to the service team. If you have an AWS account team, I encourage you to engage with them for assistance, as well.