Howto email notifications from your web application - security

What is the correct way to setup mail notifications from your web app in the cloud era? Previously I always had some SMTP server, which I could use for that purpose, but this time my company mail is hosted and there is a limit of 500 mails per day sent from certain address in this system, so with rather high chances I can hit that limit. My first thought was to use services like sendpulse or mailchimp, but it seems that all these services are built having mass marketing campaigns in mind and I'm concerned about security in case of sensitive emails, like password restore or details about orders. I spent several hours searching for solution in the web, but did not find anything reasonable.
Ideally the service I'm looking for would guarantee, that content of my messages would never be stored or shown to anyone, besides email this service might also be able to send SMS (for password restore case) and have integration with messengers.

Related

What's the simplest way to send emails using Node.js?

About two years ago, I created a Node.js application that would send emails periodically through Gmail's Less Secure Apps option. This worked quite well, but they recently got rid of it. I have G-Suite email addresses under my domain that I would like to send emails from, but the new Gmail API takes quite a bit of effort to set up and maintain. Is there a way that I can use Node.js to send emails from those addresses, but in a simpler way? Could I possibly use another SMTP server, like Yahoo or iCloud, with Nodemailer?
if you want to continue as you are just create an apps password.
otherwise you can configure a service account and set up domain wide deligation through your workspace domain account.
The service account will be able to send email on behalf of a user on your domain without any authorization needed. This is probably the most robust solution

Google Compute Engine Port 25 Outbound 'Bypass'?

So I currently rent a hefty server with Google on their Compute Engine platform which costs me around $180 per month. I've never set up a mail server before and got to grips with Exim4 and had some pretty good success after a couple hours of troubleshooting after I found out that Google block all outbound port 25 connections.
Which obviously means I can't send emails from my email server, only receiving them. They then advise clients to use their partner email service SendGrid, in which Google offer a free tier to their existing customers of 25,000 emails per month for free, only problem is you have to pay another $80 per month to remove 'Whitelabeling', the "via" or "on behalf of" on all emails you send.
My question is what are my options in getting around this problem? The only one I can think of and what Google also suggest is to buy a VPN service from them and setup another mail server somewhere else, which is ridiculous as the price I pay for this sole server should come with unrestricted port access.
You can try with Mandrill from MailChimp https://www.mandrill.com/
We successfully use it with Postfix.
As ssasa mentions you can use any email relay service that operates on non-standard ports, for example many providers allow submission on port 2525.
If you use Google Apps you can use GMail's relay service to send outbound mail without a "sent via".

How to remove tracking pixel from SendGrid emails? (Azure context)

I'm using Azure websites and they offer email services vie the third party provider SendGrid.
It works fine so far but they put a tracking pixel in the emails in order to provide statistics. Some email clients (like Thunderbird) shows a warning message for a remote content in the email.
I want to provide safe to the maximum service for my users and want to remove this tracking pixel from the email. However I cannot find such an option in the settings.
I don't want third party content in my emails. Do you know how to remove it?
(I'm using free SendGrid plan)
Alternatively, does Azure have own SMTP service?
As per https://sendgrid.com/docs/Apps/open_tracking.html
Settings may be changed through:
SMTP API (on a per message basis)
Web API (on an account wide basis)
Web Interface (on an account wide basis) // have to log into account
You didn't say exactly how you we're implementing it, so it has links to a few different ways. Sounds like it would be easier to log into your account and disable it there.
EDIT:
updated answer from comments
go to sendgrid.com/app and its one of the three options there. with a big red disable button on it when you hover over it.

Mass Emails Getting Rejected by Google

I need help automating mass emails I'm sending daily.
I'm trying to send out automated mass emails through a Gmail account (My Business uses Google Apps). I built a Java program that allows me to enter my credentials (gmail username & password), Subject Line, Email List, and enter is a body template. The program then sends out emails one at a time to each of the contacts which are in a comma delimited list. This isn't spam as I'm getting the users to submit their email address.
I got this Mail Delivery Message today: "Technical details of permanent failure: Message rejected." I read that Google will only allow a maximum of 100 recipients to any message through its smtp gateway - and there's a maximum of 500 messages in any 24 hr period.
I need a new strategy. How do I build a program to automate sending of ~100-200 emails a day? Do I need to be buying IP's, SMTP Servers, write a new PHP application? I need a place to start because this is out of my scope.
Gmail is not designed for email marketing as you have seen. In the past I have used a Google App Engine account for sending tens to hundreds of thousands of emails (because that was where the domain was managed), but that can be a pain to manage.
You could consider using a service that specializes in email marketing. I have heard good things about Campaign Monitor and MailChimp. Plus MailChimp can integrate into Google Apps.
We use www.authsmtp.com but I was looking at switching to Google when we switch to Google Apps in the near future. I'll have to drill in a bit more. IN the meantime, give authsmtp a try.
Google specifically rejects this type of behavior/use of their system. https://support.google.com/mail/bin/answer.py?hl=en&answer=69585
I would suggest trying a system that is built for this type of activity such as MailChimp or Aweber.

Count sent emails per day in a google managed domain

I have a requirement where I have to count all sent email by users belonging to a domain that they manage with google. All email is of course managed with gmail.
Although this task initialy seemed trivial, there doesn't seem to be a way to do this directly, meaning through some API call.
Any ideas?
Thanks
Stelios
As far as I know the Gmail API doesn't offer access to the total of send items.
Tthe g4j project (written in Java) reverse engineered Gmail's protocol in order to access an account using HTTP calls. However, the solution is fragile since it could be easily broken whenever Gmail decides to change its HTTP protocol.
Screenshot of a Java application build on top of g4j:
It's not easy but there is a way to access a gmail account.

Resources