Google Compute Engine Port 25 Outbound 'Bypass'? - linux

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".

Related

Howto email notifications from your web application

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.

Need of paid business emails when you already have cPanel hosting account

I got a domain registered with GoDaddy recently. Also, I purchased their Professional email & paid for a year's service.
After purchasing my Hosting server I got a Cpanel Account. Digging into the various CPanel options, I came across the CPanel emails section which lets you create multiple mail accounts for your Domain. My question is, did I waste my money not knowing that CPanel offered me a facility to create Business emails? Should I start using CPanel mails & disown the GoDaddy pro mail service.
Also, CPanel offers to configure mail clients of your choice for mobile & desktop which sounds convenient & offers the same solution as my GoDaddy pro email offers.
It depends on how many emails you send out and if they are important (should reach recipient's inbox folder).
You don't mention how familiar you are with setting up email servers, however if you set up a new email server, on a new domain, there is a higher chance that your email will end up in recipient's spam folder, especially if your email server isn't configured right, and you send out a lot of emails.
The service you bought increase chances that email sent out from GoDaddy's email servers will end up in inbox instead of spam folder, because GoDaddy (should) have email servers with good reputation.
To answer your question, if you know how to configure the email server the right way, you could send out emails on your own, just like GoDaddy does, and save some money.
You can use cPanel based web hosting for your business email. You can setup your Email apps (like android default email with this). Before setting up, you must add DKIM, SPF and DMARC records within DNS of related domain, that will help you to mark your emails as not spam.

Any Mails from Google Compute Engine via sendgrid GMail marks as spam

I installed on a Google Compute Engine postfix as a MTA.
The Mails are sent via sendgrid.
Now any Mails (tests, errorlogs, cron...) to GMail are marked as Spam.
Sending the same mails from an normal server without sendgrid is no problem.
(I have many root-server and are just trying sendgrid)
Why does google think that every mail from sendgrid is spam?
try with this:
https://serverfault.com/questions/115161/fixing-my-mtas-poor-reputation
and Maybe your IP its reported in blacklist.
Try using other reserverved ip address in your instance.
https://developers.google.com/compute/docs/instances-and-network
For maximum deliverability, SPF and DKIM records need to be setup and properly configured in the DNS records for the domain you want to send mail from. Assuming you signed up for the [free tier of SendGrid][1], available to Google Compute Engine customers:
SPF: make sure the string include:sendgrid.net is present. The most basic setup would then be v=spf1 a mx include:sendgrid.net ~all, if all email for the domain is sent via Sendgrid this is enough. If you have more complex needs, use an SPF builder, such as Microsoft's.
DKIM: get it from the Google Apps account manager, under 'Settings for Gmail>Settings for Gmail'
After those two are in the DNS records for the domain in question, use the Port25 verifier to ensure all settings are correct. Of course, if you want to test whether mail from the server is properly setup for deliverability, send them email form the server. Same for email from Outlook, etc.
PS1: These instructions vary slightly if you are using a paid version of Sendgrid
PS2: All Google Compute Engine IPs are listed in Spamhaus PBL. Email should not come from these IPs directly (but if you have a specific reason to do so you can contact GCE Support - which is not free - and request that they add a reverse DNS record for you so you can start sending mail from this address directly).

How to create the contact of the sender automatically when the mail is received using Google Apps Script

I have signed up with Google Apps, I am using a third party SMTP Server to send the emails from the web app, Emails are reaching inbox for all the email clients (yahoo, gmail, hotmail...)
But Emails sent to my domain (mydomain.com) are reaching SPAM, This is happening only for my domain Which is google apps account domain. The solution to the problem is the sender must be in the contacts of the receiver. So its a overhead involved in adding the sender in the contacts before receiving the mail. This is not automated.
NOTE: Mails sent from <xyz#mydomain.com> to <abc#mydomain.com> are reaching SPAM. It means, Its happening only when the sender and receiver belongs to same domain.
ASSUMPTION: ALL the emails will be sent from mydomain.com .
So, I want to write a script using google apps script So that when a mail arrives from mydomain.com (having FROM address belongs to mydomain.com), The script must execute and add the senders emails address in the contacts. So it will avoid the spam rate.
I am very new to google apps script, Please help me doing this, Or if any better solution is there please feel free to post.
Vinay,
It sounds like you may have an incorrectly configured SPF record. Please see this article:
https://support.google.com/a/bin/answer.py?hl=en&answer=33786&topic=2759192&ctx=topic
Email that has a mydomain.com sender address, needs to come from a mail server listed in your SPF record or risk being sent to spam.
By chance, has Contact Sharing been enabled for your apps domain? I'm just offering this as an hunch that might help rather than a specific solution to your problem.
If this doesn't help, its a straightforward but non-trivial problem to add all your domain accounts to each others contacts list (and keeping it synced over time), but you'll be leaning heavily on a version of the Contacts API rather than plain Apps Script because the Contacts service only operates on the contacts of the user executing your script.

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.

Resources