Email Config Google Cloud Platform - cpanel

Best regards
I have an instance configured in Google Cloud, where I installed cPanel to manage more easily my web project. Everything runs fine, but as much a problem to use email accounts.
I set all MX records in the Network section of the console Google, and have also done the same in cPanel. Then I created email accounts in cPanel, and I can access the accounts (I use RoundCube as an email client), but when sending an email, this is going, but does not arrive to destination, or conversely, sent from another account (such as a Gmail) email, and this is sent but not up to my new personal email account.
I realized that what happens is that Google does not allow use ports 25 and 587, so must perform other configuration.
Someone could help me to know how I can create and use email accounts, from a "normal" way, without using Google Apps (because it is paid) or services like Mailgun.
Thanks so much for any help.

You will have to use any third party email service for mail. Please check following URL,
https://cloud.google.com/compute/docs/tutorials/sending-mail/

You cannot use ports 25 and 587 since GCP block all outbound traffic from those ports, I suggest you use port 2525 since that's the only smtp port that GCP does not block and most major vendors use.

Related

Choosing ngrok subscription for using Google Calendar API

I want to be able to expose my local machine address to the internet to be able to work with:
Google OAuth2 flow;
Receiving Push-Notifications for changes in my calendars/events;
So that, I need some tool that will expose my local machine URLs to the Internet so Google will be able to use this web hooks.
I found that ngrok with basic(5$) subscription works for me. Free versions doesn't work since I need SSL as it's required by google:
This is your Webhook callback URL, and it must use HTTPS. Note that
the Google Calendar API will be able to send notifications to this
HTTPS address only if there is a valid SSL certificate installed on
your web server. Invalid certificates include: • Self-signed
certificates. • Certificates signed by an untrusted source.
• Certificates that have been revoked. • Certificates that have a
subject that doesn't match the target hostname.
The question is whether there is something else I haven't taken into account that will force me to buy more expensive type of subscription? Maybe some specific requirenments from Google that basic subscription can't work with.
Basic $5 subscription works perfectly. It fits all Google's requirements + it provides static URLs that make it possible to receive PUSH notifications even when you restart your ngrok or computer.

DKIM tool Integration with my custom email sending application

I want to develop an email sending application like www.formget.com or similar.
Can anyone will help how to integrate OpenDKIM with my email sending application?
Any idea from anyone would be highly appreciated
I think the first question is how you send your mails? Via your own mailserver postfix, sendmail, ... or you use a smtp relay sendgrid, mailgun, emailsocket,...
The easiest way is using a smtp relay Service, this company create the dns records (SPF, DKIM, DMARC) and you must only set this records on your domain.

Are Shared hosting IP OK for Mandrill API Requests?

Are Shared hosting IP OK for Mandrill API Requests?
I'm trying figure out if a Nightmare is true or simply pure work overload. :)
Mandrill comes with a Shared and Dedicated IP Options for sending out emails. What I fully 100% agree with. But do I need a Dedicated IP for sending out API Requests to Mandrill? Or can Shared Hosting IP work as a starting point. (e.g Bluehost / Hostgator Shared Plans ).
Is there a possibility, that tow Account will use the same IP and lead to very Angry Mandrill? :{
I am planing to apply for a Dedicated IP. But would like to not rush with buy every feature to quickly.
The Mandrill dedicated IP option is an IP that is only used for sending your emails. You don't make API calls to that address. You would still make API calls to the same API endpoint described in the Mandrill API docs - with a dedicated IP, once we receive and process your mail, we would then route it over a dedicated IP address instead of the shared pool of sending IP addresses. All of the sending IPs are only used for sending emails. They aren't used for other portions of the application or API.

Intranet Extranet authentication

I have developed a php/mysql application which need to be accessed via both intranet and extranet. I want to give access to a certain page(add_company_details.php) to both intranet and extranet. How can I do that?
Basically I want to give the access to extranet only for some parts of the application. I have poor network knowledge. Do I need to give some ssl certificate or user/password authentication? Please help me. Thanks in advance. We use linux server with apache/php/mysql.
You can check the IP address of the client computer and enable or disable pages based on that.
Look at $_SERVER['REMOTE_ADDR']. If it's an address on your Intranet, enable or disable the page as appropriate. Similarly, you can enable or disable pages for Extranet visitors.
You will still need to authenticate your visitors. There's no specific need for an SSL certificate, but it's the only reliable way to guarantee the security of password exchanges.

Custom authentication in wcf without certificate, https, ssl and iis

First of all sorry for my English, its not my native language. I will try to describe my problem as much as I can.
I searched for a long time on the Internet for a solution where I can create a wcf service that can respond to requests of my clients with username and password required but without creating a certificate, using https or anything else that require a special configuration on the machine where my windows service will be installed.
Here is my point: I want to deploy an application to a lot of my customers. This application will have mobile devices and a server which will give some information to mobile device with the help of wcf. Each customer will have a server and many devices. I don't want that anyone on the web can have access to these information and for this reason, I must implement an authentication procedure with username and password for each request but I don't want to be forced to install a certificate, activate some https port on each machine when I sell a new copy of my application.
I've read that with wcf 4.0, there is a built-in system that can encrypt data and for this reason, I don't want the overhead of implementing anything else if possible.
My question is: Is that possible to have a secure solution considering my requirements and if yes, how can I do that?
If I really must create a certificate and use IIS, https or any other secure solution, it is possible to automate these things in a package that will be installed in a single click wizard into each server machine of my customers?
Thank you in advance for your time.
By default WCF doesnt allow transport of username credentials over http and hence have to use certificates to secure your transport layer. But if you are sure that you are fine with sending username credentials over the http channel then you can have a look at ClearUsernameBinding which gives you the flexibility of sending username credentials over http channel (consider the fact that someone can intercept your transport channel to get access to the credentials)
Also if you want to use certificates that have to be installed you can achieve that writing some code in c# and include that as part of your installation from your package. You can also configure everything from an msi like creating a virtual directory, deploying the application,etc..
what you are probably looking for is one of the wcf bindings that has message level security. You can put the user name and password into this message and not worry about them going across an http wire unencrypted(ie custom authentication). The defaults for WCF send user name and password as part of the http request in the header this is why it wants https.