AWS Pinpoint service for sending SMS messages - amazon-web-services

I'm using AWS Pinpoint service for sending SMS messages, and I would like to add some HTML coding (such as: URLs, bullets, really simple stuff).
I wasn't able to manage it. The HTML is shown in the device as plain text. Do you know if there is some kind of configuration for the SMS message for being treated as HTML ?
Thanks!

Related

How to send a private message to user on AWS Chime sdk?

I am using AWS Chime JS SDK and would like to send a private message to a user. By message I mean to show a popup modal to an specific user.
I've been going through the documentation, but overall I have not found how to send messages to specific users.
https://aws.github.io/amazon-chime-sdk-js/modules/apioverview.html#9-send-and-receive-data-messages-optional
Is this possible under Chime?
The data channel within Chime would not allow for this if you wanted secure and private messages. Optionally, you could filter on the inbound message on each client so that it only popped for the person you wanted. However, the Chime SDK also has a Messaging SDK that can be used for a case like this:
https://aws.amazon.com/blogs/business-productivity/build-meeting-features-into-your-amazon-chime-sdk-messaging-application/
You can create private channels. They are also persistent and can be used for other data sharing use cases.

How to setup an email address for sending only?

My main goal is to setup an email address for my server to use for sending emails only.
I did some research, and it looked like Amazon Simple Email Server and/or Amazon Workmail could provide me with what I needed. I've gotten as far as setting up SES and Workmail so that I can set my server to be able to send emails. However, I saw that once the Workmail inbox is full (50GB), the account would be unable to send emails. Given that this is going to be used by the server and not a human, I didn't want the inbox to get filled with auto replies, spam, or failed to send messages, and then be unable to send emails. So, I went looking for a way to either:
A) prevent emails from being received and stored in the inbox
B) a rule I could setup to delete anything that didn't match the company domain
C) be able to read the inbox and delete email messages using the AWS CLI, and I'd setup my own script to manage how and what was deleted when
So far I haven't had any luck.
Again, I'm not particular how I achieve the goal, but I do preferably need to find a way to have an email address for a server to use exclusively for sending messages. I worry that if I leave it to employees to remember to login and clear the inbox, someone will forget, and then the server will stop sending emails.
Any direction or advice would be greatly appreciated.
I'm not well versed in email protocols; could I setup the address to return a bounce back always, and that would prevent it from receiving emails into it's inbox?
How are you generating these emails? If you are generating them programmatically (via an app/script), you may not need to set up a server. If you just route the outgoing mail through your app to SNS, the emails will be valid, however, there will be no "inbox" for incoming mail and they will just be dumped. This way you don't have to actually worry about an inbox getting full as it will just drop anything coming in.
https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email.html
In order to receive emails though SNS, you have to go through the setup linked above, but if you do not set this up, then emails will just bounce. At least, that is how I have been doing it.

any way of password masking in AWS lex bot

Is there any way to set data type of the input(in chabox) in amazon lex to password datatype or any way to mask the password shared in the AWS lex Chatbot?
Amazon Lex is entirely separate from the user interface used to pass messages to Lex.
So any configuration dealing with the chatbox, will need to be done within your specific channel's chat display settings. And that will differ between channels (Facebook Messenger, SMS, Skype, etc.).
If you are using the Lex Test Chat, be aware that it has its own unique formatting, built entirely separate from Lex, so don't confuse those two. Lex only deals with receiving messages, parsing the language, and delivering appropriate responses. How the incoming messages and outgoing responses are displayed is entirely controlled by the channel.
Just to give you an example of how something like this can be done using Facebook Messenger.
You can use Facebook Webview to open an html form inside the facebook chat that uses the password input:
<input type="password"...>

Sending SQL emails using AWS and SES

I hope someone will be able to help me with this since I am new with AWS stuff.
I have a Web App using .NET MVC which will be deployed/hosted in AWS. This is the description of what I would like to achieve:
1- Let's say that the Web App will insert products in a Products Table on SQL Server.
2- When this product is inserted, the system (AWS) will send an email to a Client from a Clients Table on SQL Server.
Is that possible with AWS?
Could I set a trigger in SQL Server and send an email by SES?
Is it better to use SQS?. So the Web App will publish messages in SQS, and then having another app listening and sending those emails, for instance a console app.
I will appreciate any direction or useful link.
Thanks all of you in advance.
The answer to your first question is 'yes'. Yes SQL server can use SES to send emails. Because SQL server can send emails, all you need to do is set it up to use the correct SMTP settings from SES once your account is verified and working with SES.
That said, I would never have my db server send emails, just doesn't seem like the right place to do it; even though you can.
I have developed and support several systems like this, and the usual pattern I use is to have the web application insert a message in an SQS queue that will be used as input to another process to send the email out. When possible I like to include all the details about the email into the SQS message, i.e. from, to, subject and the body - everything the downstream process will need to know to send them out.
In my case I use a windows service running on several EC2 instances in an autoscale group to poll the queue and send the emails out. In most cases, where I was able to store all the emails in the SQS body, the windows service is completely general purpose - it reads an SQS message, composes the email and sends it out. Because all of the details of the email are within the SQS message body, this single SQS queue and the windows service that is processing it, can process emails from a variety of applications because the service doesn't need to contain any business logic specific to the application and has no external dependencies.
As you talk about separation of responsibilities, I can't see anything less indicated to send email than a db server (even if it can do it).Sending emails is a task for your business layer, surely not for the data layer.
Use the web app to trigger the process of sending the emails, than implement it directly into the web app, or separate it with a messaging system (like SNS), with a queue system (like SQS) or whatever else.

how to send SMS to a mobile phone using software program (like yahoo messenger)?

I am trying to write a small program using Qt to send SMS messages to a mobile phone. Something like what Yahoo Messenger provides. You can send SMS messages to mobile phones if mobile service provider is supported. I would like to know what happens behind the scenes after you click "Send". Especially how does the message you send gets transfered from the server at yahoo to mobile service provider's network?
Yahoo would've purchased access to (or run their own) SMS gateway. The exact method of transferring the message from Yahoo->Gateway would depend on the gateway's API. Could be XML, could be a proprietary binary format, could be a simple HTTP POST, etc... The SMS gateway would take care of the details of getting the message into the back-end cellular data network and on to the recipient's provider's system.
The easiest way to do it is to buy credit with a company like SMS Global ( http://www.smsglobal.com/global/en/ ). I don't work for them, but I have used them in the past. You do a simple web request (with your account number), destination phone number and the message. It deducts credits each time you send an SMS. Obviously, you write it in to your business plan to cover the costs of this :)
They also offer services whereby you can receive SMS messages to your own web service.
Obviously, there are many other SMS gateways, but if you look at the site and the API you should have a general idea of how it works.