5 ms·
Ask HN: How do you send email in your early stage startup?
Say you are launching your startup idea, trying to get some early users. You have account-related emails (registration, forgot password), and marketing emails.
Do you run smtp off of your EC2/DO/GCP machine? Or do you use Amazon SES, Mailgun, Mailjet, MailChimp, SendGrid and blah so you get the benefits of DKIM and volume handling?
Budget: I am not sure what's a good budget, but I see $20 budget to start with. Obviously if there's spike, I hope a "free-tier" buffer would cover.
- amypinka 8y agoSES works for me. Do any of the cloud providers even allow SMTP from their IPs?
- jazoom 8y agoAll of them? At least all those I've ever used or looked into do.
- kalmi10 8y agoIP ranges used for VMs are often problematic. I wouldn’t recommmend them for outgoing mail. See: https://news.ycombinator.com/item?id=7634890 https://news.ycombinator.com/item?id=7634890
- jazoom 8y agoPerhaps I misunderstood. Since he/she mentioned "SES" I thought the "cloud providers" were SendGrid, etc.
- mindcrime 8y agoWe have a MailChimp account and have a couple of lists set up there for newsletters / marketing stuff. For "transactional" emails (account creation / password reset / etc) or anything that is done programmatically, we use SES.
- magicbuzz 8y agoI think an SMTP setup would be overly complex. I setup a Lua-based mail sender in nginx for a startup a few years back that just sent to gmail iirc. But that now seems a bit too much effort. SendGrid seems interesting as you can setup templates and then just make a Rest API call.
- muzani 8y agoEarly stage? As fast as possible. Just plug it into something like MailChimp, even if it's more expensive. You can cut costs later, but honestly manpower is money, so it's usually not worth setting up your own.
- superasn 8y agoSes would be the best option for your budget. They give you shared ips but I've seldom seen any transactional mails go to spam. Also if you're using route 53 configuring dkim, etc for your own domain is just 1 click away.
- yeukhon 8y agoInteresting. I am pretty familiar with AWS infrastructure so ideally I would love building on there first, but the cost is something I am pretty sketchy about, in general for EC2 and whatnot. So I was thinking start off with a $5 Digital Ocean droplet.
- superasn 8y agoIf cost is a big factor for you, you can try finding services that give free aws credit. Like Stripe atlas have me 5000usd just for signing up. product hunt also gives you. I'm sure there are others too. the need of the hour is to always launch quickly. even if you manage to save a few bucks on digital ocean but waste 2 weeks on migration and learning something new you have to calculate the cost of 2 weeks my personal l opinion is to get it done as quickly as possible worry about such costs later.
- mchannon 8y agoCall this super-lazy, but it works for me, and it's cheap. Say my startup is foo.com and I've registered it at namecheap. I'll get a corresponding gmail account (foodotcom@gmail.com) and use that for my outgoing correspondence. Where you want to impress with your custom domain is incoming email, and in that case, you can set up mail redirects (catchalls in particular) for your new foo.com domain. So if I meet VC Mike at an event, I can direct him to sales@foo.com or info@foo.com. The "handoff" for when I email him back out of the blue from my foodotcom@gmail.com can be a little fraught, but it's good enough until I want to afford actual gmail services or similar. It's a great way to segment off new areas of your business, so if you hire Vickie in customer service, you can autoforward support@ to vickie@personalmail.mail or vickiefoo@gmail.com, until you hit the big leagues.
- the_narrator 8y agoI don't think using a custom domain for company email is the "big leagues". It is only a minor effort to use your own domain and shows some semblance of a professional operation.
- zakk 8y ago> The "handoff" for when I email him back out of the blue from my foodotcom@gmail.com As far as I remember GMail can send emails on behalf of another address you own: https://support.google.com/mail/answer/22370?hl=en https://support.google.com/mail/answer/22370?hl=en This way VC Mike will have a seamless experience writing you to your @foo.com address.
- mchannon 8y agoGmail used to do that for free, and if you signed your domain up, you're grandfathered in (I have a few domains still like that). They don't do it for free anymore, and their mail hosting for new accounts is surprisingly expensive (though I suppose most things are, when you're used to getting them for free).
- hashkb 8y ago
- amingilani 8y agoMailgun has a free tier and they give SMTP access. Perfect for when I'm setting up a new Rails app. I've never had to pay them, ever. Even though they handle all my small startup's traffic.
- leonroy 8y agoSendGrid for sending signup, password reset emails. They have an API and SMTP support which we prefer since it avoids lock in. We use MailChimp for our marketing mails purely because of habit. SendGrid can handle that too. On the free plan for both for ages and ages so didn’t have to worry about the cost until we started ramping up. I would advise against your own SMTP server. I maintain one for ‘fun’ for my personal emails and between SPF, DKIM etc. it’s more time and effort than it’s worth for an early stage project. You also get cool analytics with MC and SG which shows who received their emails, who hit spam, who clicked, etc. very handy for diagnosing signup mail problems.
- cimmanom 8y agoSplit your mail into 3 classes: 1) Interpersonal. This is your own email that you type and send from your own mail client. Internal discussions. Scheduling a meeting with an investor. Etc. Use a hosted IMAP+SMTP service for this (g suite, zoho, fastmail, whatever). 2) Transactional mail. This is mail that's related to specific interactions on your platform: "thanks for registering" or "you have a new private message" or "your order is in the mail". Legally, there's no obligation to allow users to unsubscribe. You'll be automating the sending of this with code, and once you write and design each message it will be changed infrequently and probably by developers. If you need to do automated processing of incoming mail, it also falls into this bucket. For this you want cheap SMTP and ideally a robust API with pre-parsing of incoming mail. For this you want a service like Mailgun or Sendgrid. 3) Marketing mail. This is newsletters, offers, etc. Broadcast-only (not a conversation). Your marketing team will be customizing these each time they go out, so you need a WYSIWYG interface. Ideally this is also hooked up to a CRM so that you can segment your messaging. You also need automated unsubscribe for compliance purposes. And this is the mail most likely to be actively marked spam, so you want to send from a different hostname and IP than your interpersonal and transactional mail so that your interpersonal/transactional mail won't be auto-filtered as spammy just because users mark your marketing mail as spam. This is what services like mailchimp or constant contact are for.
- stefanski 8y agoWhat CRM do you typically use for a project like this to hook in with marketing mail?
- cimmanom 8y agoGreat question. Ideally your marketing email provider would include its own robust CRM or have excellent integrations into robust third party CRMs. All the options the companies I've worked for have used so far have been extremely awkward fits. I'd be interested in how other people are solving for this.
- bradknowles 8y agoI recommend doing these under three separate but related domains, or at least separate subdomains, and on separate infrastructure. This way, you can allocate an entire domain (or subdomain) for each function, and if you run into problems with your marketing mail going down the tubes because someone decides to put your IP address ranges on a blacklist, that doesn't automatically nuke your main corporate mail and your transactional mail with your existing customers.
- mabynogy 8y agoI'd do that with a gmail account. I wrote a bash script with ssmtp to send mails from the command line. Here is the critical line: echo "$body" | /usr/lib/sendmail -C $config $mail I can give you the full script. Just tell me if you need it.
- Topgamer7 8y agoI have tried the MailJet trial. However there is no feedback as to when you go over the 200 messages a day, which is not acceptable to me, for their business being in email, I figure sending me a warning email would be simple enough. Following that I use Amazon Ses because it has the best value. I use name cheap which has free email forwarding for an entire domain. I forward all emails on my domain to a Gmail account with a matching name, and use that for inbound emails. This method is rather limited, but very cheap.
- niftylettuce 8y agoIf you're using Node, you can use https://github.com/Niftylettuce/email-templates https://github.com/Niftylettuce/email-templates along with Postmark for transactional emails and any other provider for bulk incl SES.