Problems setting up NodeMailer with MailGun - azure-web-app-service

I'm trying to set up NodeMailer v0.7 in an Azure App Service for my Ghost blog. No matter what I do, I cannot get it to send mail when the exact same configuration is working in another environment.
It keeps telling me Relaying Denied. I've written up an extensive troubleshooting support page on this if anyone would like to help me.
I would GREATLY appreciate any help you can provide.
https://www.notion.so/Azure-Web-App-Ghost-Blog-Email-Issue-ef9221fde09d47e29a211ea45357563e

On Azure App Service, for sending email, the recommended way is to use SendGrid or O365.
Due to some reason for SMTP, I think you can not directly use nodemailer to send mail on Azure WebApp, please see the blog Troubleshooting SMTP issues/Sending emails from Azure Web Apps from a MS Support Engineer to know, and the first Q & A explains your current issue, as below.
1. Are you using a Relay Service or are you trying to send email directly from the web application?
If you are not using a relay service to send email, you are in an
unsupported scenario within all of Azure (including running an
application in a VM or cloud service). To reduce the possibility of
customers using Azure resources to send SPAM emails we do not allow
sending email directly from any service in Azure. See the blog below.
Relay services include SendGrid, O365, other third-party relay
services, and customer’s own on-premises relay services. So first
verify if the customer is using a relay service. If they do not have a
relay service they must configure their application to use one, there
is no other workaround.
https://blogs.msdn.microsoft.com/mast/2017/11/15/enhanced-azure-security-for-sending-emails-november-2017-update/
If you consider to switch to SendGrid, #sendgrid/client can help you to easier send mail.

Related

Azure as a proxy for application

We need to develop integration between ERP (Dynamics Nav) and cloud-based telephony provider.
The provider needs to have an endpoint published and accessible from internet but for security reasons it is not possible for us to allow inbound connections to our network. I think it should be possible to solve this by hosting small application in Azure which will serve as endpoint for telephony provider and to which ERP will connect as outbound persistent connection. The app will just forward requests to ERP.
Since I'm new to Azure the question is what of azure capabilities I could use to solve the task aside from hosting actual VM with application there?
I've just implemented the same using Azure Service Bus.
The VOIP system is putting a small JSON with call details after the end of the call and I'll get the messages from the Service Bus Queue from NAV.
The code is not complicated at all the whole solution is simple and cheap!
Let me know if you want to know more (= you need the code).
Cheers!
Azure AD has the concept of an "application proxy" that will open internal applications up using a connector that runs on prem. This doesn't require inbound ports and is protected by Azure AD authentication.
It's intended more as a user-facing way to get access to Legacy applications, although I don't see why it couldn't be used for integration as well.
https://learn.microsoft.com/en-us/azure/active-directory/application-proxy-publish-azure-portal
Otherwise, you could link an Azure Site to Site VPN up and use a service like API gateway to manage connections though this is more complicated.

Hosting Microsoft BOT on Enterprise Cloud?

We are trying to host the BOT on the Enterprise server IIS server which is an internet server visible to Microsoft and other outside public domains.
So, after hosting the BOT on the enterprise cloud server we would get an endpoint ex: https://myenterpriseserver.com/api/messages.
Can I use the above endpoint to register the bot in the microsoft's dev.botframework.com?
Please help, as we are planning for a large scale implementation of the BOT.
Thanks,
Mahesh
As long as the server has a SSL Certificate it should work assuming you deploy the bot correctly. Test it out first by using the Bot Emulator to see if you can send a receive messages from a computer in your system's network. Next try registering the bot on Microsoft's Bot Framework and seeing whether Microsoft's Bot Connector service can connect to the bot successfully.
Your system/intranet may block outside messages from Microsoft in which case you will have to change some settings, etc. with your firewall. This GitHub Issue follows an issue with white-listing Microsoft's Bot Connector service.

How can I setup the DocuSign Connect feature while I am developing locally on my laptop

I want to connect docusign locally to my application. How it can be done? How can I setup the DocuSign Connect feature while I am developing locally on my laptop? Please guide me with detailed steps.
You're going to have to have your network forward an externally accessible url to your localbox.
Since Connect is a service hosted at DocuSign and requires a valid endpoint to send data to, and if RequireAcknowledgement is enabled, you'll have to send data back to the service as well.

Windows Azure sending email via SMTP relay

I have a site hosted on Windows Azure and currently I am using SendGrid to send emails. However, we have Mimecast as our email provider and it is marking all emails received from SendGrid as spam.
Is there a way to use Mimecast as the SMTP Relay service from my Windows Azure application?
Well,
Azure as such does not apply any restriction on the outgoing traffic (beside some bandwidth throttling based on the Size of the VM you are running on, but this quite generous). So in practice you can use any SMTP relay service.
Whether you can use Mimecast specifically, you shall turn to Mimecast support or products page. But there is nothing in Azure that would stop you from using this or that service (any service).
And Yes, you can use System.Net.Mail.SmtpClient or any other Smtp Client library to talk to external SMTP Service. Whether that external SMTP Service will accept your connection or not, is not subject to any kind of Azure limitation, but sole decision of the service you chose to use.
You should raise a ticket with SendGrid so they can manage this situation. The reason SendGrid is provided is to precisely avoid your mail being marked as spam. You will be unlikely to see any successful mail delivery if you route SMTP traffic directly from an Azure host to a receiving SMTP server.

Sending Email from centralized server with multiple web servers

I am building a ASP.NET MVC3 application that will be running on a couple web servers. Instead of each server/app sending its own emails(Asnyc) per request, I would like to leverage something like MSMQ and send messages to an email server that would pick up the messages and send an email.
I have an idea of how to do this with a console app, windows service and MSMQ but was looking for some direction from anyone who has had success/experience implementing something similar. Any guidance, experience, technology, blog posts would be appreciated.
From what I see you're simply after an e-mail relay service. You could just use a dedicated IIS to do this for you. IIS SMTP has builtin queued mail relay functionallity. Preferably you want to cluster this IIS SMTP service for max. reliability.
Regarding the consideration in the article linked I can't see the difference between the users page process waiting for sending a message to an SMTP server and sending a message to a MSMQ.
I believe when it come to redundancy you'll find it much easier to set up a clustered SMTP service than clustered MSMQ.

Resources