microsoft azure smtp email relay setup - asp.net

We are migrating from a dedicated server with a local virtual SMTP server to Windows Azure. As far as I can tell Windows Azure does not allow a local SMTP server to be setup in IIS. The SMTP Server option in the management console is missing. How would I setup an email relay so that I can have a .net web application send emails from a Windows Server 2012 virtual machine in Azure?

This is more like corollary to what #mcollier has stated. Given that you are already on Azure and you get 25,000 free emails (there are higher plans as well) with your subscription as well.
You can configure a Virtual SMTP server which relays to the sendgrid services. For the development perspective you will have the view of using your own SMTP server / service. Setting up a sendgrid based service is explained in this link.
I have used sendgrid earlier and my experience with this was amazing. As #mcollier has pointed out, using services like Sendgrid will give good chance of staying away from spam problem, if you try to setup and use the SMTP service of your own because of the reverse lookup etc.
PS: The above Virtual SMTP Server can be replaced with Amazon SES, which is equivalently a good service. Check out more info here.

First, assuming you're using a Windows Azure IaaS VM. Correct? If so, I think you need to enable that role/feature in Windows Server.
Second, why the need to send emails from that specific server? Would a service like SendGrid work? One problem people sometimes have with email servers in Windows Azure is the domain of your service (something.cloudapp.net) does not match your vanity domain when a reverse DNS lookup is performed. This could cause the email to be flagged as spam (since you don't technically own the sending domain, something.cloudapp.net).

I developed an direct relay application using the normal RFC email commands and lock that on my application, but strange that some test emails get delivered using the relay on windows AZURE VM, and all other mails are not getting any bounce response, and making a sense that every email is being delivering,
This is strange behaviour on azure vm.
so it means you can't send email using azure vm as a smtp mail server, if like to test then simply download promailer marketing manager from jsmtp.com

Related

Mesibo-How requests are routed when switched from Cloud server to OnPrem

We are evaluating mesibo for InApp messaging within our SaaS application. We would need OnPrem setup to comply to Data compliance requirements.
One clarity we would need on this regard is, when we switch from Cloud to Onprem setup still client side code continues to use https://mesibo.com url. In this case we believe all the traffic gets routed to our OnPrem server via Mesibo server.
Please confirm if this understanding is right? If so would there be any data residing on Mesibo server? This clarity is required for us to respond to our customers.
Thanks
No, once you enable On-premise, your client directly connects to your on-premise server. You can verify it using netstat utility. mesibo cloud will have no access to your data.
Refer to the following to learn more https://mesibo.com/documentation/faq/on-premise/#do-i-need-to-change-or-recompile-my-apps-to-run-with-mesibo-on-premise
Mesibo APIs support both cloud and on-premise. By default, it connects
to the cloud. However, if the app is configured to be on-premise, the
mesibo cloud will refuse to serve and will ask the client to connect
to an on-premise server, and will disconnect. Then onward, the client
will directly connect to the on-premise server and then all the
messages and calls will route to your mesibo on-premise server.

Is it possible to get a username form a VPN (L2TP/IPSec) connection?

I am currently maintaining web applications available from a secure network. My users connect to the network within a VPN connection using L2TP/IPSec, to which they authenticate using their user id and password. When they access the web application, they also have to authenticate again with the same user id and password.
Since they have authenticated once to the VPN already, is it possible for the application to verify their authentication status and get their identity from the VPN?
Thank you!
It really depends on your VPN server and the capabilities of your web app. If your web app can access the VPN servers logs, current connections or API than yeah you might be able to set something up.
George

Does Microsoft recommend blocking port 25?

We are asp.net developers, work in a company.
Development achieved in our development devices/laptops where VS installed.
After development, test operations finished, we publish application into servers.
Our applications need to send emails, so we do that via exchange server through port 25.
Suddenly, during development and test stage, we noticed that we cannot send emails. We contacted exchange server administrator. He told us that he blocked port 25 for our development devices/laptops because Microsoft recommends that.
We asked him how we can achieve development, test operations? He said that you can do that from server! Note that server is for just publishing; it does not have any IDE for developing or test!
Is this true?
Does Microsoft recommend this?
Thats not true. But it is recommended, not to allow anonymous smtp access to Exchange Server.
So there should be a (named) connector for your application on port 25, which is requiring TLS and authentication, which means, your application needs to implement smtp authentication.
In that scenario, the Mailbox you are authenticating with should be monitored for NDRs.

should I use azure connect in this scenario

My webapplication hosted on windows azure needs to communicate with TFS Server.
my webroles connect to TFS using a uri similar to (http://ed12-ektfsp-01:8080/tfs/eeol/ )
While on azure I found that my webrole failed to communicate with tfs server.
Do I need to enable "azure connect" for for my azure webrole to
communicate with tfs ?
Do I need to remote into my tfs server and
install azure connect into my TFS server for the azure connect to
get enabled ?
Why azure cannot communicate using
"http://ed12-ektfsp-01:8080/tfs/eeol/ " ?
Your web application does not know the server ed12-ektfsp-01 (I'm assuming this is a server in your datacenter/in your internal network). But there are a few options to allow your web application to connect to this server even if it isn't hosted in Windows Azure:
Configure your firewall to allow traffic from the internet to reach the server ed12-ektfsp-01. This is probably something you do not want to do, unless the server is already available (maybe for developers working at home). Then instead of using the machine name, use the public domain instead (like tfs.mycompany.com) if it's available.
Like you already mentioned, use Windows Azure Connect. This allows you to create a secure tunnel between your roles and your datacenter/internal network. You'll be able to connect to ed12-ektfsp-01 even if it's not exposed to the internet through your firewall. In order for this to work you'll need to install the agent on each server you want to connect to your role, this includes your TFS server.
You can connect your role to a Virtual Network. Then you can use a VPN device on-premises to create a site-to-site VPN connection to this Virtual Network. See the tutorial here: Create a Virtual Network for Cross-Premises Connectivity
You can use Service Bus Relay. This allows you to create a WCF service that calls TFS and host that service within your datacenter/network, but publish it to the cloud. Your web application will be able to consume the WCF service as if it were hosted in Windows Azure.
Please take a look at my answer to this question.
As for your specific questions:
Do I need to enable "azure connect" for for my azure webrole to
communicate with tfs ?
YES.
Do I need to remote into my tfs server and install azure connect into
my TFS server for the azure connect to get enabled ?
YES. And add both the WebRole and the TFS Server into single Connection Group.
Why azure cannot communicate using
"http://ed12-ektfsp-01:8080/tfs/eeol/ " ?
Because the address given is known only within your corporate network, and only resolved by the Company's DNS server. Noone outside can access this address.

Alternatives to IIS SMTP service

I am using local IIS 6.0 SMTP service to send emails from ASP.NET application.
I am having the following issues:
Emails are being delayed from 1 hour to 24 hours, and our traffic is only increasing
No UI to quickly see what is going on. How many emails sent. Bad Emails, Queue, etc...
Have to install IIS 6.0 just to run SMTP service. Microsoft didn't include it in IIS 7.0, so not sure if they will be supporting it in the future.
Seems to send emails in single thread (not sure about this one).
I could use one of the cloud services like Amazon Simple Email, but it would cost me hundreds of dollars a month. I would like to keep it local since our hosting provider has plenty of bandwidth.
What are the alternatives to IIS 6.0 SMTP service?
There are a couple of options available to you as I see it but each has their own pro's and cons.
A local mail server application (eg: Exchange server) to manage your mail queue
pro - you retain total control
con - you retain total responsibility
con - depending on the email type and volume you could end up getting blacklisted
A cloud mail provider that you are obviously aware of.
Arrange with your ISP to direct smtp traffic directly through them rather than using your own smtp service which is forwarded through them anyway. They also may have tools that will allow you to view and control the traffic.
Good luck
AJ
You can use GMail as a free smtp server
Check out the articLE
http://www.geekzone.co.nz/tonyhughes/599

Resources