AWS Pinpoint Transactional Emails : How to include an unsubscribe link? - amazon-web-services

I am trying to understand what causes an "_email.unsubscribe " event in AWS Pinpoint for sending Transactional Emails. I want to add a link with which users can click to unsubscribe. I am using JAVA SDK 2.X. The developer guide was not very helpful. I'd appreciate if someone can post a sample code or an approach that would help .

from AWS documentation:
Emails unsubscribed – The number of messages that prompted the
recipient to unsubscribe. Note In order for Amazon Pinpoint to count
an unsubscribe event, the unsubscribe link in the email has to contain
a special link tag (a tag called unsubscribeLinkTag, as in the
following example:
<a ses:tags="unsubscribeLinkTag:click;" href="http://www.example.com/unsubscribe">
Only links that contain this tag are counted as unsubscribes.
basically, it just generate an unsubscribe event to kinesis

Related

How to send a private message to user on AWS Chime sdk?

I am using AWS Chime JS SDK and would like to send a private message to a user. By message I mean to show a popup modal to an specific user.
I've been going through the documentation, but overall I have not found how to send messages to specific users.
https://aws.github.io/amazon-chime-sdk-js/modules/apioverview.html#9-send-and-receive-data-messages-optional
Is this possible under Chime?
The data channel within Chime would not allow for this if you wanted secure and private messages. Optionally, you could filter on the inbound message on each client so that it only popped for the person you wanted. However, the Chime SDK also has a Messaging SDK that can be used for a case like this:
https://aws.amazon.com/blogs/business-productivity/build-meeting-features-into-your-amazon-chime-sdk-messaging-application/
You can create private channels. They are also persistent and can be used for other data sharing use cases.

Amazon SES does nothing

I'm trying to use the Amazon SES sendTemplatedEmail function.
I have:
verified the sending domain
verified various emails (company, google, gmx)
am in the sandbox
created all the templates
send test emails and verification emails and they went through
I do:
send out emails to the same email as the sender and receive a valid message id
to a company email and receive a valid message id
to a google email and receive a valid message id
to a gmx email and receive a valid message id
No emails are getting delivered and none occur in the send statistics.
What can I do now in order to debug that?
Update
I found a "RenderingFailure" in CloudWatch, and that hints to the error. I can't find the actual error, though.
Took me a while to finally debug this.
I ran this command to test out the template rendering:
aws ses test-render-template --template-name myTemplate --template-data "{\"key\":\"value\"}"
This finally showed me what was wrong (I referenced a {{token}} which wasn't defined in my template-data.
If anyone at AWS is reading this please either default to an empty string or at least show an error message while sending!
This is called Rendering Failure which happens when the template data you passed doesn't match with the template variables you have in your template. You can set SNS notification so that you get notified anytime this rendering failure occurs.
I have written a blog to tackle this. Please have a look at https://dev.to/nabinadhikari/aws-simple-email-service-caveat-5jn

Send email with custom from with amazon ses for several domains

How can I accomplish to send email in Amazon SES with a custom email from for several domains.
For example, I have an application that is used by several clients, and we have a module to send emails. When we send an email it goes with the "amazonses.com domain", but what I want to accomplish is a custom from email for each client, each one has a different domain.
The process for doing this is entirely specific to the current SES configuration steps so its better I provide a link thats regularly updated.
http://docs.aws.amazon.com/ses/latest/DeveloperGuide/mail-from-set.html
The short summary is that you can do this by choosing a FROM option for the emails you are sending from.
Programmatically Setting From
The link above points how how to use the API to programmatically change the FROM value. The link below is directly to the API call for setting from but to accomplish it you'd still need to follow the manual tutorial then replace its steps with equivalent API Calls.
http://docs.aws.amazon.com/ses/latest/APIReference/API_SetIdentityMailFromDomain.html

Amazon SNS signature verification not working

I am working on Amazon Simple Notification service (SNS) with Liferay. I have subscribed topics to an endpoint and receiving bounce, delivery, complaint objects successfully. But I am struggling with signature verification. I am using the same code given by aws in following url: http://docs.aws.amazon.com/sns/latest/dg/SendMessageToHttp.example.java.html
Do I need any configuration for X509Certificate?
Have also referred this: http://docs.aws.amazon.com/sns/latest/dg/SendMessageToHttp.https.ca.html. But they have not mentioned where to add it or else I am not able to interpret from the desc given. I can't complete the functionality as this is the crucial part of it. Any help would be appreciated. Thanks in advance.

How would I know that email has been sent or not via SendGrid in Django

I am working on django and sending emails to multiple users at once. in the given scenario it only tells me that if it has sent or not.
I want to display the report of same page that how many emails has sent to user successfully and how many not. more if i want to get details why email has failed to sent.
How would i do such things via SENDGRID APIs.
There are two options that I know of:
Connect to SendGrid Event Webhooks and start parsing events for every email to flag ones that were not sent. I believe you can configure SendGrid to only send certain events, so if you're interested in bounces you don't need to worry about handling all events.
The second option is to use a service like sendwithus which will connect to your SendGrid account on your behalf and track all bounces/opens/clicks for you and provide a simpler API/UI to view the data. I believe they do this via SendGrid's webhooks, so it's effectively the same solution but written for you.
Happy to elaborate on either, I've used both before.