I have mainly worked in AWS and there is AWS SNS which can send SMS and email notifications. The alternative in Azure appears to be Azure Notification Hub, which cannot do this. Apparently it only sends push notifications.
Is there a service that I could use to implement SMS and Email notifications (including email templates) in Azure?
Azure Communication Services are cloud-based services with REST APIs and client library SDKs available to help you integrate communication into your applications. You can add communication to your applications without being an expert in underlying technologies such as media encoding or telephony.
From: What is Azure Communication Services?
Azure Communication Services provides quite a few options, among which are chat, email and SMS.
There are decent articles on how you can Send an SMS message or Send an email.
EDIT:
Azure Logic Apps is a cloud platform where you can create and run automated workflows with little to no code. By using the visual designer and selecting from prebuilt operations, you can quickly build a workflow that integrates and manages your apps, data, services, and systems.
So Logic Apps is not a service to send SMS or email. Logic Apps is a low-code platform that enables you to very easily call a service that sends an SMS or an email. And one such service could be Twilio, since ...
Twilio powers personalized interactions and trusted global communications to connect you with customers.
Of course there are other providers, too, like MessageBird, Spryng, CM.com and more.
for sms/emails try Azure Communication Services: https://learn.microsoft.com/en-us/azure/communication-services/quickstarts/sms/send?tabs=windows&pivots=platform-azcli
For email notifications only you have also different choices. You can buy "kiosk" from 365 business licence, so you can create account only for this licence in your tenant, send email from code is standard smtp approach. For templating you can use whatever you want, as you can send html message loaded for example from resx file. You can also use service nammed SendGrid from Twilio. I recomend using SendGrid, only if there are really plenty of emails.
Related
I have a WIP chat tool with SignalR hub running on my server and would like to add translation feature to it.
So far I set up Azure Translator Text API, Service Bus and Functions. And I've made the SignalR server casts messages to the service bus, then the function triggers upon existing messages on the bus, and posts it to the translator api.
Flow of Messages
[Users' Browser] -> [SignalR Hub] -> [Service Bus] -> [Functions] -> [Translator API]
Here my concerns are:
What is the advantage of using service bus or functions? It is also possible to directly post messages to translator API from my server, but I assume service bus make it easier when I want to scale out my server, is that correct?
Related to 1., I know there's Service Bus Relay that enables two systems directly communicate to each other. Is this useful for this kind of project?
Where should the messages translated through functions be posted back to? The SignalR hub on my server, or the service bus with some tag that distinguishes whether the message is raw or translated?
I never used the Azure. Now, i with a problem.
I am going to do a Chat on Xamarin Forms using SignalR. So, the chat will have a 1:1 and a group 1:all . Its for a small group of 700 to 1.000 persons. Looking at the internet, i didnt understand if i have to pay for Azure App Service (standard) + Azure Bus Service, or just Azure Bus Service, or just Azure App Service.
Short answer: you only need to pay for Azure App Service to create a single Web App if you want to use SignalR.
The only reason you'll need Service Bus is if you decide to scale your Web App to multiple instances. To synchronize across multiple web apps, SignalR requires a messaging backplane. That's what Service Bus would be used for. Your other options for a SignalR messaging backplane are Redis (very fast), or Azure SQL (slower). I personally use Service Bus for my SignalR messaging backplane. But again, you do NOT need Service Bus if you're only using one instance for your web app.
If you have an MSDN account you get a certain amount of free credits to put towards it, but each type of Azure Service generally has a charge. Check out the pricing pages on azure and you'll be able to gauge which is your best option, alternatively if you aren't ties to Microsoft, then you can look at the RabbitMQ offerings of Amazon.
If you're unsure on the pricing, speak to a Microsoft Sales person, they've helped me out in the past and are quite good.
is it possible to send a notification to a specific registration(device) using c# server side code to a cordova mobile application having the Phonegap push plugin?
Short answer is Yes:
But you don't send push notifications directly to devices, you have to go through the platform holders servers. For Android that GCM (google cloud messaging) and for IOS that's APNS (apple push notification server).
To interact with them you could use a library like PushSharp (free) or Amazon web services has a fairly cheep implementation called SNS (simple notification service). Amazon SNS has a .Net api that you can use on the server side.
Push Sharp
How should I proceed? I found nothing useful googling it but some really expensive programs to connect a cell phone to the pc and use it to send the messages.
I'm willing to pay for the service and the messages will be sent to Israel and US.
I'm using C# but I'm willing to use any language.
Cheers!
The easiest way to do it is with Twilio. You can get it set up in a matter of minutes. Check out my answer Sending SMS from asp.net website for an example program of just how easy it is to send SMS with Twilio and C#.
You want to use an sms gateway that has an API. The most likely will be a REST or SOAP API that you can consume from your app.
When you need to send an SMS invoke the gateway's send method.
The gateway you choose will be influenced by which country you're in and if you need to send international sms.
As a reference we use SMS Global for AU message sending via their API, which can serve as an example of the type of thing you could expect:
http://www.smsglobal.com/en-au/technology/developers.php
Yea, for an actual sms message you will have to buy some hardware or software. A free alternative is to use sms gateways, http://en.wikipedia.org/wiki/List_of_SMS_gateways. You can send an email to 1234567890#vmoboile.ca and virgin mobile will forward that email as a text message to #1234567890. The limitation here is not every company offers this service (most major ones do) and you will have to know which company each number belongs to. Here is a list of sms gateways.
http://en.wikipedia.org/wiki/List_of_SMS_gateways
I have work on that purely through C#.
1st you need a sms modem, I live in Singapore and the vendor I got from resides in singapore too. But at home I did my own testing using my Nokia E63 handphone.
I don't have the coding at the moment, but I can tell you how to go about searching.
Using C#, I did a serial port connection (applicable too if using USB), send AT+ commands over to the modem, and the message will be sent.
To test if you phone is suitable, it can be done so using HyperTerminal. Connect your phone to the computer via the correct port and setting and send AT commands directly from there.
The best way to achieve this is to use an SMS gateway. An SMS gateway encapsulates the technicalities of interfacing with SMS carrier medium on one hand and on other hand it provides an interface for application level protocols like http, SMTP, ftp etc. to interact with it. For example, you can have a web application talking to the SMS Gateway over HTTP and the gateway on its other side will talk to the SMS centre over some proprietory protocol to send the SMS text received from the application. This way, the application need not know the low level protocols to send the SMSs.
You can lease a line to an SMS center (SMSC) if you need to send large number of bulk SMSs and configure your SMS gateway to use this lease line to send the msgs. But leasing a line is far more expensive. If you need to send small number of messages, then you can use your mobile phone in place of the leased line. Attach your mobile phone to your PC/Server and configure the Gateway to use your phone. You need to refer to your gateway documentation on interfacing your phone with the gateway. This is not very difficult but fairly simple.
There are lot of commercial gateways available in the market which can be used. But using an open source SMS gateway is a good option. You can use an open source gateway called - Kannel. Believe me, it is not very difficult to set it up and start using.
I am working on an B2B ASP.Net app, where I am targeting people having mobile phone. I want to know if i can use my sms gateway two way , for both sending and receiving msgs. I havent used sms gateway earlier.
I want such a gateway that i can send and process messages automatically via my app.
Thanks
Amit
Checkout Twilio
It's a great service that allows you to send/receive SMS via it's API ... see here