"Unsubscribe" for email categories/types through Sendgrid, Mailchimp, SES - ruby-on-rails

I've got a Rails 3.2 app that will need to send various transactional & bulk (marketing) types of emails. Ideally I'd be able to use a service (like Sendgrid or Amazon SES) to improve deliverability and for unsubscribe support. I've mostly used Sendgrid in the past, but I need the 'unsubscribe' to be just for a specific category of the email (there are around 6 categories). I can't have someone unsubscribing from a marketing email and miss out on notification or invitation emails. Does anyone know of an service that supports this, or does this just have to be done internally? It seems like there's a lot to deal with related to best practices for deliverability, list-unsubscribe, etc. if you manage it yourself.
I see this discussion on sendgrid, but seems to be pending still:
http://community.sendgrid.com/sendgrid/topics/unsubscribe_and_categories
I'm happy to go with any service if it integrates relatively easily with Rails and can support category/type based subscription management. Or perhaps a hybrid approach with different services or separate accounts on the same service, if they allow that for the same domain?
I very much appreciate any feedback on how others have tackled this.
Thanks!

SendGrid is currently developing this feature and we hope to have it out shortly. There isn't an exact time for the release of this feature yet but it sounds like it is just what you are looking for. Check out SendGrid's blog, it will be updated when this feature is available for beta testing.
http://www.sendgrid.com/blog
Thanks
Brian

It looks like CritSend(1) have what they call "tag" support and state the following on their site:
Our unsub processing is done per tag, so if someone unsubscribes from
one of your emails tagged "newsletter1" that does not unsubscribe them
from any other tag.
The one thing that is unclear is the level of Ruby support.
CritSend name MxmConnect as the gem to use for sending emails. There is a critsend_events gem for the CritSend Events API.
(1) Note, I have no affiliation with CritSend

Related

Rails Facebook-like Notifications

In my Rails 3 app I have Users, Products, and Likes. If a User posts a Product, and another User Likes this Product, I want that User to get a notification that their Product was Liked.
Is there an existing gem that handles this? I've only come across Pusher but that seems to be overkill.
There are a couple of gems that do that:
RailsActivity
https://www.ruby-toolbox.com/categories/Rails_Activity_Feeds
PublicActivity
http://railscasts.com/episodes/406-public-activity
https://github.com/pokonski/public_activity
I have never used them (although i probably will do it tomorrow ^^) so maybe someone with more experience can give you a better insight given your requirements (or read some part of the documentation)
All the gems that are mentioned above by different people is for implementing activity feed.There is lot of difference between implementing facebook news feed and facebook notification system.
For implementing notification system, I recommend you to check these links.
Gritter
Link
Have you seen this http://railscasts.com/episodes/260-messaging-with-faye ? Faye is used in the example. I'm not sure if you'd still consider it an overkill.

Is there a way to check open/click rates, bounces of emails via Rails?

I'm currently trying to send emails from a Rails application and would like to check the open/click rates of these emails. (without using any web service) Is there a gem or plugin that I can use to help me find out? Or is it even possible to do this?
Take a look here:
http://www.codingforums.com/archive/index.php/t-122920.html
I think the first mentioned method, detecting how many times an image has been viewed would be the easiest. Then again, these are not exact solutions, but I think an exact solution would be sort of a security hole (i.e. sending an HTTP request to a foreign server once you open an email).
Varatis is correct, using image tracking is the most common way this is done, and it is the way that most web services provide you with analytics on the e-mails they send on your behalf. Here is another Stack Overflow question that includes an example of how you might do this in Rails.

Sending newsletters in Rails 3

Is it suitable to use Mail Gun to send out newsletters (bulk emails)? We are currently using Mail Gun to send out transactional emails (i.e. for confirmation emails) Works great!
We are looking at Campaign Monitor and Mail Chimp for weekly email newsletters. Are these services more suitable for this kind of task?
One thing I find more convenient with Mail Gun, is their API is much easier to work with. Especially when sending "dynamic" / more personalized emails. For example:
Hello Foo,
Your total video plays is 1,291. You have 214 total comments.
Regards,
Awesome Web
On the other hand, the UI analytics / reporting provided by Campaign Monitor and Mail Chimp make it much easier to read, especially for someone non technical. The same applies for creating campaigns and templates.
And it is simple enough to use with Rails. Since the templates are created via ActionMailer instead of from the UI (as seen with Campaign Monitor and Mail Chimp).
Are there any deliver-ability advantages for newsletters, from using one of the services, that I should be aware of?
Disclaimer: Since I love their service I ended up knowing them personally
If you want to use only one service to send and track all your emails, you need an all in one solution. They are not many players on this segment and I guess that the Cloud Emailing platform Mailjet would be the best for you :
They let you send both marketing and transactional email.
They have great analytics: really actionable and easy to use.
They must cost about the same price as Mail Gun, or maybe even less (30,000 emails cost something like $7 for example).
Last but not least, they optimize your deliverability (authentications, IP reputation, etc.).
On top of all this, Mailjet's API is well documented and makes you able to personalize the messages. And they even have an official Ruby Gem.
If you want a clear and objective overview of what exists, you can easily compare the different actors here.

How do I make yahoo unblock the images that come with the emails coming from our server?

How do I make yahoo unblock the images that come with the emails coming from our server?
For HTML email, which is a wild beast at the best of times, you should be using some kind of starting template before embarking on any sort of customization. There are a number of examples out there that are excellent reference but Campaign Monitor has made a serious effort to promote best practices.
http://www.campaignmonitor.com/templates/
It may be helpful to use an email previewing service like Litmus to verify your messages are being transmitted as intended:
http://litmusapp.com/email-testing
Is it all yahoo users or just some? Many users turn off images in email for privacy reasons (to prevent companies from using image requests as a confirmation that someone got an email.)

Interacting with Outlook appointments using rails

I have a rails application running on a Linux server. I would like to interact with Outlook/Exchange 2003 appointments from the rails application. For example, certain actions should trigger sending an appointment, and then preferably accepting/canceling the appointment in Outlook should trigger events in the application.
Failing this, is it possible to publish calendars that Outlook 2003 can read without requiring Outlook plugins? I note that Outlook 2003 does not support ical without plugins for example. Similarly, if this is not easily doable in Ruby, but is in another language (such as Perl for example) running on Linux then those suggestions would be welcome.
Any advice on how to achieve this, or where to start looking for answers would be gratefully received.
Outlook appointments are just e-mails with special header information. There's some information in this tutorial on the required parts. I sent a few meeting invites from my Outlook to my Gmail account and took a look at the raw headers there - you can figure most of the protocol out from that.
The iCalendar specs may help you, as well.
Thanks for everyones help. I found something that showed me how to do this with Perl, and ported it over to ruby. I've blogged about it for those looking for a solution
If you can upgrade to Exchange 2007, you can use Exchange Web Services that is more powerful and convenient to use than WebDAV.
At work, I inherited a Rails app that allow users to create single appointments. I was asked to write code to link those appointments in the app to users' outlook calendars, so that they are always in sync. Sounds to me very similar to what you want to do.
I don't think I'm allowed to publish the exact code I wrote though. Anyway I'll give you a bit idea on how I addressed it.
Exchange Web Services only provide API in C# (no surprise, it's Microsoft. Technically, you can use other languages since it's actually SOAP.). I wrote a middleware in C# that does the sync between Exchange server and the Rails app. When users do scheduling in the app, changes are sent to the middleware so changes can be reflected to their outlook calendars. Meanwhile, the middleware registers Push Notification subscriptions for all users -- every time changes are made in Outlook, the middleware will be immediately notified, which in turn faithfully reflect those changes in the app as well. Of course, recurring appointments are also supported.
Hope that helps you.
Take a look at the project RExchange on github.
For accessing appointments, you can just access the Calendar folder on Exchange using WebDav. For creating appointments, please refer to RFC2445 for details.
Further to ceejayoz's comment, you can also use ActionMailer to catch the replies that are sent back, and act on them - you'll need some form of unique id in a place that will be included in the reply though.

Resources