Comments

SilverG33k

Thu 10 Jan, 2019 07:35 pm
This post is beyond my understanding, someone should legit explain it to us

omnipotens

Fri 11 Jan, 2019 04:37 am

The function that transports the emails and SMS has been programmed.

All they do is to put that function to run once there's a transaction.

A simple understand scenario is when you code a contact form and ask it to say 'SUCCESS' when form successfully sends message to your delivery email. That's the similar thing that happens. Whenever there's a successful transaction, check alert options subscribed by the user then send current account details to the user.

wale2

Fri 11 Jan, 2019 07:41 am

Obviously, they have functions/methods in place to handle specific tasks. But how do these functions work? Actually I think @ominpotens explained it well. I would love to add a thing or two though.

I think most banks use C#/ ASP.Net and since I'm a C# programmer, I would love to explain with some codes to let you better understand how things (probably) work.

Let's say upon signup, we want our new user to have his/her email verified. I would need:

1. Email Service to ensure fast and safe delivery of mails.

2. A method to handle that specific task.

Now, say we have this function with the following signature.

public async Task SendVerificationEmail (User user)

We are ready to go.

The main thing:

How do we code the verification link, such that if the user clicks the link we are about to send, we can get back the verification token, then apply appropriately?

Personally, I love MVC and I use ViewModels a lot. I would define a ViewModel, for example:

public class VerifyEmailViewModel

{

public string Token {get;set;} //Token to be transported to the user.

public string Email {get;set;} //Email of the user

}

We can then design the callback as follows assuming we are using MVC.

string callBack=Url.Action(nameof(VerifyEmail),"Account",new VerifyEmailViewModel {Token=token, Email=email}, Request.Scheme};

string message=$"We would love you to verify your email address by clicking the following link. Verify Link"

Finally, use your email sender service to send the message.

await emailSender.SendEmailAsync(email,message); 

//Redirect the user to another page to let him know the email has been sent.

return RedirectToAction("SentEmailAction","EmailController");

I can explain this further, but I hope you get the idea?

Badoo

Fri 11 Jan, 2019 09:59 am

Wonderful explanations, guys. But the sms service can't be free, I know to send mails, you need a smtp server. What I actually want to know is what a developer needs in the case of sending sms

limistah

Fri 11 Jan, 2019 12:27 pm
@badoo have you seen twilo?
We have worked with them in the past.
Might not be what the banks are using, but should be something similar.
Like the messages Google/Facebook/Github send.

There is always an API of the provider that can be interfaced with.
You only need to get a provider that suits your need.

Rayyspark

Fri 11 Jan, 2019 04:47 pm

@Badoo, you can also take a look at the Developer API at smslive247