
Using Email Yak To Provide Bidirectional Email In Your WebApp - kirubakaran
http://www.bennadel.com/blog/2294-Using-Email-Yak-To-Provide-Bidirectional-Email-Communication-In-Your-Web-Applications.htm
======
kirubakaran
_"Every program attempts to expand until it can read mail. Those programs
which cannot so expand are replaced by ones which can." -jwz_

If you don't want your app replaced, enable it to read email. Parsing email is
generally a clusterfuck. But I found out that it is really easy with EmailYak.

------
cdcarter
Glad to see more companies jumping into the receiving email market. In my
experience, it's been incredibly difficult to set up a website that can
actually respond properly to emails, though Lamson has helped a lot.

~~~
drewbuschhorn
Partly as self-promotion, and partly because it might be useful to someone,
here is a link to what lamson is:

<http://lamsonproject.org/>

and a series of blog posts I wrote on setting up a simple lamson server:

<https://github.com/drewbuschhorn/lamson_gcal_example#readme>

------
nicholasreed
How does this compare to SendGrid, Mailgun, and Amazon SNS? Any notable
features that make it an improvement or would convince me to switch?

~~~
j45
One thing I think that differs between these is most only do 1/2 of email --
sending. Mailgun and a few others do two way emails.

~~~
old-gregg
Disclaimer: I work at <http://mailgun.net/>

Sending is actually 1/3 of email. The other two are receiving and storing. :)

Even sending by itself is such a complicated beast that only a select few
allow customers to do it properly, and to _properly_ do sending you must have
receiving end set up as well. Your deliverability goes up when you allow
replies to the sending host. ESPs see replies as participation and it makes a
difference. That's why we keep preaching: No more no-reply emails.

Another elephant in the room is spam. If you silently accept everything coming
to your MX host, you're asking for it. That's how some email platforms do the
receiving end. GMail can get away with this because they employ a small army
of PhD's to deal with spam. To have manageable volumes of spam, you've got to
be able to generate SMTP bounces for invalid addresses. The list of things to
do in order to receive properly goes on and on. Hooking up incoming SMTP
traffic to a Python function is the _easiest_ part of receiving mails.

Long story short: if email is critical to your app, you have very limited
options. Roll your own or sign up for Mailgun, which is basically a Gmail-like
back-end which makes your application look and feel like a _real_ email server
to other ESPs, not a mass sender of $0.0001 emails. Mailgun also has other
advantages like automatic cleanup of garbage MIME bodies - this always hits
you hard in production, and standard MIME parsers for most languages won't cut
it.

~~~
citricsquid
I really wish Mailgun.net was a nicer website. It's terrible of me, but I just
can't take Mailgun seriously with such an.... amateur website, I just can't
accept that it's a legitimate company. Postmark on the other hand (and
mailchimp etc.) have really nice websites, it makes me want to use them.

~~~
old-gregg
Agreed 100%. We've been slacking on the web design fronts. Check out the
design of our APIs instead! :) We invested all our attention to the queue, to
maintaining high traffic quality and the parsing engines.

Check back soon and I'm sure you'll be pleasantly surprised!

------
wakoumel
I have only just looked at this service, but it may be exactly what I'm
looking for. I see a lot of advice against operating your own mail server, and
while SES might work for outgoing you're still screwed for incoming. Thank you
for this, I'll check it out more!

------
mgualt
Can we use this as a comments system? For example, a blog would have an email
address and leaving a comment would basically send an email to the address,
and then it would be displayed as a comment beneath the blog entry. The
benefit would be that we can use email spam filtering on the comments. The
email could be sent either from the user's email address or you could send it
from the application's email address to itself.

~~~
bennadel
I've thought about implementing something like this; but, I keep coming up
against two different arguments:

1\. I think there's value to having people come to your site. Not just for
traffic, but to keep them involved and aware of changes to the site.

2\. Content being posted in the email can be far more complex than the content
being posted in a simple Textarea. There's a nice dependency on the clean
input of a textarea and a form submission. With rich email clients, you just
need to take more care.

... of course, maybe that's just me being intimidated about thinking about the
whole workflow in a different way than I'm used to.

~~~
mgualt
What about Still providing a simple text box, but the action upon submit is
sending an email. It needn't be from the commenter's email address, it could
be from a separate email address "comments" or perhaps a separate adress for
the individual post.

------
wadetandy
I didn't know people still used ColdFusion in 2011.

~~~
gruuk
_raises hand_

Can't say I love it but it pays the bills; you'd be surprised at the number of
companies that still use it to a degree. Thankfully, CF these days is much
improved compared to when I first heard about it many, many moons ago.

~~~
Semiapies
Same here.

------
j45
It might be interesting to compare with mailgun too, one that I recently heard
about.

