How to send bulk emails with different subjects using Mandrill API? - email

How am I supposed to do to send bulk emails with dynamics subjects?
For example, If I need to send 200 emails at once, I don't want to call the Mandrill send() method 200 times because I suppose it's a very bad practice.
I'd want to call the send() method 1 time, putting my 200 recipients in the to attribute (this works well). However, in that case, how to set a different mail subject for each mail sent?
Thanks.

You can use merge tags within your subject to change the subject line for each user.
http://help.mandrill.com/entries/28499087-Can-I-use-merge-tags-in-my-subject-line-or-other-headers-
You can provide a default value for your merge tag and/or for each/some users personalised data.

Given the anatomy of an e-mail in Mandril is based upon subject and body (or template) to define a unique entity what you are asking to do isn't possible. A different subject or body constitutes a different e-mail and requires it's own .send().
If the same e-mail (same subject and body/template) was being sent to all receipts then a single .send() would work.

Related

Can I stop a SendGrid mail if it received a certain parameter?

I'm using a certain SendGrid template for several different projects and am trying to find a way to stop emails from going out in some conditions, through SendGrid.
For example, lets say I'm passing SendGrid some parameters like:
{id, name, amount, date}
I want to stop that email from going out when i'm passing a certain id.
I know that I can change the email template i'm sending with conditionals using handlebars:
From here
But Can I actually stop the mail if some condition happens?
In my case, every time I send the id = 5
You can control the body of the email using Handlebar templating, but by that point, you have already told SendGrid to send email with the data you provided. You cannot stop the email from being sent from within Handlebars.
If you're using code to tell SendGrid to send these emails, you could check in your code if the id equals 5, and if so, do not send an email.
If you're using Single Sends to send an email to SendGrid Contacts, you could to store this id field as a custom field, and create a segment or update your existing segment to filter out the contact with that id.

How do email threads/chains work, and how do I ensure sending two emails separately will be merged together in a thread in the users email client?

I'm using AWS SES to send emails to customers. I want to send an initial email to confirm an action they've made on my website, and then send subsequent emails to that same email address to notify of any subsequent activity on that initial action.
Different email clients appear to implement this behaviour differently, and I've read about the thread-index header here, but that doesn't cover all clients.
Is there a standard way to mark that an email belongs to the thread of a previously sent email?
Thanks
When adding the References Header to Emails, you can add message-ids of previously sent emails in order to create email threads.
Of course it's again a topic of the client to fulfill this feature, but it should be supported by major email clients.
Heres an old blogpost about that. (considering that email is also old, it should be fine ;) )
https://wesmorgan.blogspot.com/2012/07/understanding-email-headers-part-ii.html

How to track status of email in sendgrid without using SMTP.

I want to send emails which contain different contents to same user and I need to track their status. Are there any way to do that without using SMTP.
Sounds like you want Unique Args. These are called custom_args in the v3 API mail send argument, but it's the same concept.
Once you activate the Event Webhook, all events will include the appropriate unique_args, so you can relate each specific message to each.
Also, whenever you send a message to SendGrid, the acceptange response includes a message_id, which will be in all those events.

Can I Use Postmark to Create Threaded Replies?

Like many web apps, we use Postmark to send all notifications for server side events. Many of our events are grouped and related by something simple and logical (think multiple replies to the same issue, like in GitHub).
Right now, every email sent for these related events is it's own email thread. My question is: how do I send these emails so that related ones get pushed into the same thread?
I'm not sure if this is something at the Postmark level (like include a previous message ID) or if this is something I do with SMTP (like I should format my subject better and inline previous responses), so that's why I'm seeking guidance. Also, every Google search about: "Postmark email threads" returns concerns over the thread safety of the Ruby Gem.
For more information, the app is written in PHP and right now we are znarkus/postmark-php for sending emails and jjaffeux/postmark-inbound-php for parsing inbound ones. However, I am more than willing to add any extra packages if they help me in my quest.
Thanks in advance!
You can add a few SMTP headers with the original Message-ID that most clients use to link together replies. If the original email had a Message-ID header of <123#mail.example.com> the new email you send out should keep the subject line the same and add headers of:
In-Reply-To: <123#mail.example.com>
References: <123#mail.example.com>
And that should inform clients that the two emails should be threaded.
Edit:
The value for these headers should be the SMTP Message-ID header, which is slightly confusing because it is a separate concept from the Postmark MessageID value, which is just a UUID for the email.
The SMTP Message-ID header is always in the form an email address, because that's how it's supposed to be formed, but doesn't have to be related to the from address.

For non-customized bulk email, is it better to use the BCC field, or generate a separate email with To header for each recipient?

I'm generating a bulk mailing each day for users who want to receive the daily deals. I can either send a separate physical email with each user specified on their own unique To header, or I can send one email with all the users on the BCC line.
Obviously if I ever want to create user specific content I will need to customize the emails per user and send them individually, but if I don't want customized email right now, should I just send out the single email with everyone on BCC? Any reason to NOT do that.
Edit: I'm using a third party as my gateway that specializes in delivery with CAN-SPAM compliance, etc.. not trying to do this off my own mail server...
Update: I guess I'm really also looking for some metrics here. Is there a difference in open rates of BCC'ed email vs To field email? What about spam filtering rules that might pre-classify based on the BCC field?
No reason I can think off for NOT doing it. Using BCC is the polite way to send bulk emails.
In this case, it turns out that the correct answer was neither. The gateway provided a custom header API that allowed me to specify all the recipients in a secondary "To" field. The API then handled the blind delivery of the emails, and also did variable substitution for me so I didn't have to transmit all the duplicate content multiple times. The API then handled doing "best practices delivery of the email".