Critical Security Alert using Gmail SMTPClient in Xamarin Application - xamarin

I am developing a cross platform Xamarin application that uses Google's SMTPClient to send order confirmation emails in the app directly, following this tutorial: https://www.c-sharpcorner.com/article/xamarin-forms-send-email-using-smtp2/
Emails have been sending without issues during the development of the app, while testing on only a couple of devices in house, but now that I go to release it to 20+ different devices with different IP addresses, none of the emails are sending and the app is crashing. When I login to the google account that is used to send the emails, I am confronted with: "Critical Security Alert. Suspicious attempt to sign in with your password", each time a crash occurred.
I have third party access enabled, but it seems like Google is still not allowing the user to send emails from new devices with new IP Addresses. How can I get around this?
I appreciate any help I can get.

Related

Duplicate emails being produced only through Outlook via Laravel App

We are using a web application to send out mail. Email is sent and received as expected on a server level and in GMail. However, when messages are pushed to our client's Office365 (Outlook), instead of getting one copy they are getting duplicates.
This is how the app works. You can send emails to a number of people (1,5,20, etc). It's all the same message, subject, etc. It's the same email.
The app sends you a copy. Just one. That's how it is supposed to work. Within their Office365 (Outlook) email account, they get their one copy, and then another copy for each recipient (that's not supposed to happen). So, if you email 5 people, instead of getting one email back, they get 6.
The thing is, this program has run flawlessly for nearly a year. Out of the blue, this glitch started happening.
We have had no code changes, no vendor updates, or anything of the sort on the web application side of things that would trigger since before the time this glitch started happening. When we tested locally, and on the live server, with GMail credentials, the app continues to work as it should.
We are sending out mail via SMTP.
The security protocol is "tls".
https://laravel.com/docs/5.5/mail that describes the core Laravel mail function we are using to send out mail.
The client contacted Microsoft support -- who basically said "I don't know. Not my problem".
I don't know where else to turn, or what other steps to take to debug.

Twilio SMS Physical Phone Integration

In a perfect world, the solution I'm looking for would be an api resource tied to my physical phone, e.g. I could POST an sms message to https://url.com/api/sms, and this api would have the end result of sending an sms from my physical phone. This means that the sms conversation would appear natively in my phone; if the recipient replies to the sms, it would appear just as a normal conversation as if I had physically typed the original sms via my phone.
I understand that I could set the replyto/callback/caller-id via Twilio's api. This would mean that the sms gets sent out by the api, and if the recipient replies to it, I could have the reply forwarded to my phone. But what would be missing in this scenario is the original message sent via the api, that the recipient is replying to.
Is there a streamlined way to achieve this, perhaps with Zapier?
One arduous solution I have in mind is to write an on-phone-app to intermediate the sms transmission so that I essentially have an sms-controlled api on the physical phone vs. a traditional http api. (On android, the api would "listen" via DATA_SMS_RECEIVED_ACTION and then send via sendTextMessage). But this seems cumbersome and would also require updating the app code when/if android changes the underlying SmsManager library. The advantage of this is that I could avoid Twilio altogether, by using my service provider's email-to-sms to send to the on-phone-makeshift-sms-api.
Twilio developer evangelist here.
I think you are looking for a feature that we just announced in preview. This is known as Hosted SMS and allows you to add SMS powered by Twilio to your existing phone number.
You need to apply to get access to Hosted SMS as it is newly in testing. You can do so with the form here: https://www.twilio.com/sms/hosted
I've set up texting to a physical phone by using Twilio's SIM cards and associating it to a phone number.

Get user email in windows 10 universal app

I am trying to build a control that the user can use to send feedback to developer. I am using email as a delivery method and I leverage sendgrid email service for this. Now I want to know the users email address so I can respond back to the user's concern. I am not sure how to get the user's email in window 10. Any help or pointers please?
I would strongly recommend to use the sharing approach that has been introduced with Windows 8 - instead of writing and maintaining your own mail functionality and trying to access additional user data.
Have a look at the existing and built in e-mail functionalities. They make use of the user's connected mail accounts and the mail app. This way you don't need to worry about handling the message transmission or anything but rather hand the information over to the mail client. This way you also know how to reply back.
And as a bonus, the user can still access their message via the Sent Mails folder :)
There is a specific class for that, the EmailMessageClass (https://msdn.microsoft.com/en-us/library/windows/apps/windows.applicationmodel.email.emailmessage.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1) as well as a dedicated guide with code example.
https://msdn.microsoft.com/en-us/library/windows/apps/mt269391.aspx
Essentially you can prepopulate the Mail fields with necessary app information where applicable. The user gets to choose which accounts he wants to send the mail from, but it will open in the mail client.

How to buy and send sms to unverified phone numbers using twilio api

Am currently developing a web application using Laravel. I have been using twilio trial account to send messages to just one verified phone number and now I want to launch the application and be able to send sms to any phone number filled on the registration page and send an sms to the user after successfully registration. How do i do this to accomplish my task and move on because I am stack and don't know what to do...
I believe Twilio has a limit on whitelisted numbers during the trial period.
Many SMS Gateway providers do this to prevent spammers.
Nexmo, where I work, has an SMS API allows you to easily send SMS messages to phones in over 200 countries.
The API is extremely reliable, safe, & easy to integrate in your application.
All you need to do is make a simple HTTP call.
After signing up for the free trial, there will be a screen in the dashboard where you are allowed to enter up to 10 whitelisted numbers during the trial phase.
Once you top up (reload your account with funds), this restriction is lifted.
Here is some more information on how to integrate it the SMS API with PHP

Using Phone Number to Prevent Spam: How to prevent spam on a mobile app?

Compared to using CAPTCHA, would using a phone number to prevent spam/bots improve the user experience.
I'm building an ecommerce app that does not require a user to create an account, when a user writes a product review they enter there phone number and a verification code is sent which the user sends back so that the review is successful.
It is not typical to use CAPTCHA for a app login. The better UX for app users is to get the phone number and send a verification code to authenticate if the request is coming from a real user. When an SMS arrives it normally shows up at the top (on notification window) which shows the verification code at the top. So the user doesn't even have to switch the app to read the verification code in SMS. All he has to do is wait until the SMS arrives and key in the code in your app.
There are several SMS verification API providers available to make it easy for sending out verification code.
I have used Nexmo Verify API before which makes it easy to generate the code and completes the verification.

Resources