Azure AD B2C Custom Policy Verification Email Customisation - azure-active-directory

I have set up a custom Password Reset policy in Azure AD B2C that allows the user to change their password while displaying custom branding elements depending on specific scenarios. This policy contains a step where the user verifies their Email Address by entering a verification code that is sent to their inbox.
From this post in the Microsoft Azure Feedback Forums: fully-customizable-verification-emails
It seems it is not possible to fully customise verification emails.
However, is it possible to perform some basic customisation of the verification e-mail within a custom policy? (text sent in the "From" and "Title" sections of the email and modifications to the text sent in the body).

Currently, you aren't able to customize the email messages, but -- as you have found on the feedback forum -- this is being considered by the product team.

You can customise the verification emails by using a 3rd party email service to send the emails.
For example, we have Azure AD B2C configured to send emails with SendGrid. We then use SendGrid templates to customise the contents of the email. This involves using Custom Policies, so it's definitely an advanced use case.
Once set up, you can create and use any SendGrid email template, and use the {{otp}} and {{email}} parameters in the body of the email, which will be replaced dynamically with the one-time password value and the user email address.
The instructions to send emails with SendGrid are here: https://learn.microsoft.com/en-us/azure/active-directory-b2c/custom-email-sendgrid?pivots=b2c-custom-policy
For Mailjet, the instructions are here: https://learn.microsoft.com/en-us/azure/active-directory-b2c/custom-email-mailjet?pivots=b2c-custom-policy

Related

Is it possible to specify a from email address when inviting users to AAD using Application permission User.Invite.All

I have an application leveraging the Microsoft Graph SDK for C# and I have registered that application to use the Application Permission User.Invite.All. I would like to specify the email address the invitation should come from.
Is that possible?
You can't set the address if you use the default invitation email.
If you want a custom sender address, you'll need to send the invite email yourself through some email provider.
You can disable the default email send with:
"sendInvitationMessage": false
In the response, you will get inviteRedeemUrl.
This is the link you need to send to the user so they can accept the invite.

How to send email from delegated account using Gmail API

I have created an automated google script to send notification email on periodic basis but I want mail to be send from my delegated account since I logged in using my primary email, so I can't send it through my delegated email account.
I tried to achieve the same using send email as functionality but it is not working, recipients are receiving mails from my primary address.
Please provide your inputs
Thanks
First you need to add the delegated account in your usual inbox. Go to:
Settings>Accounts>Send mail as:>add another email address
Make sure that the "Treat as alias" checkbox is checked; submit and verify the request.
Second, you can access all the aliases with GmailApp.getAliases().
Finally, you are able to choose the alias with the Gmail Draft or Message Services by changing the from field in the option object.
https://developers.google.com/apps-script/reference/gmail/gmail-draft#update(String,String,String,Object)

Getting user email from Twitter using Satellizer

I can't figure out how can I get email address from twitter. I've been using this as example - https://github.com/sahat/satellizer/tree/master/examples/server/node. I've also seen that it's possible to get email from twitter's oauth - https://dev.twitter.com/rest/reference/get/account/verify_credentials. Thanks
The example server doesn't appear to get the email in the twitter case.
And the documentation link explains how to request
Requesting a user’s email address requires your application to be
whitelisted by Twitter. To request access, please use this form.
Once whitelisted, the “Request email addresses from users” checkbox
will be available under your app permissions on apps.twitter.com.
Privacy Policy URL and Terms of Service URL fields will also be
available under settings which are required for email access. If
enabled, users will be informed via the oauth/authorize dialog that
your app can access their email address.
"Given that you have to go through all the hoops to get whitelisted by Twitter in order to access user's email, it is it not part of the example code. If you really need to get user's email, you may have to do that outside Satellizer's auth flow." - sahat (owner of satellizer)

How to forward emails from Google Apps (Gmail) to Sendgrid?

I am trying to use Sendgrid as SMTP server for sending all emails from my users using Google Apps for email.
The catch is that Sendgrid requires password authentication and i couldn't find a way in Google apps Admin console to out that in (theough of coruse, there are ways to enter the SMTP server IP, but it doesn't work).
How to hook SendGrid to Free Gmail account (Not Google for work account)?
See: https://support.google.com/mail/answer/22370?hl=en
Click the gear in the top right.
Select Settings.
Click the Accounts and Import tab.
Under Send mail as, click Add another email address.
Click Add account >>
Give a descriptive name to this new "email transmitter" (e.g. "Send mails via SendGrid")
Give any email address that belong to you but not a GMAIL email (e.g myemail#mydomain.com)
Uncheck the Alias check mark
Change your SMTP to smtp.sendgrid.net
Use ports 587 for plain/TLS connections .
SendGrid username (sendgridname)
SendGrid password (sendgridpassword)
Gmail will send you a verification email to the "transmitter email" (e.g to myemail#mydomain.com)
Open your other account (mantas.hof.hefer#hhcc.org.il) and either click the link in the message Gmail sent or enter the confirmation code in the Accounts and Import section of your Gmail settings.
Whenever you want to send email from Gmail via SendGrid when you compose the email, in the “from” field select the SendGrid email (rami via SendGrid).
The will be send as like it has been send from the “email transmitter” (e.g it will send to myemail#mydomain.com).
Type the verification code and you are set.
Next time you want to compose an email from Gmail please select the field "FROM" and choose the new "transmitter email" (e.g. "Send mails via SendGrid"). Write your email and send it. It will be send via SendGrid.
If you login into your SendGrid account you can find many statistics on this email such as how many people have open this email. (https://sendgrid.com/logs/index).
The only thing that I couldn't figure is how use the SMTP protocol from GOOGLE JAVASCRIPT (not java) in order to manipulate my emails.
There are many SendGrid SMTP commands that can be added to the message headers but I couldn't figure how to do it.
The sendgrid API auth's from within the request. Simply use UrlFetch to send POST requests containing your API creds to the sendgrid endpoint.
If anyone comes across this answer as I did via a Google search, this update might help. The answer provided by #rmisegal is basically correct but you now use an API key from SendGrid.
You can setup an SMTP email API key via the SendGrid dashboard:
Log into your sendGrid Account.
Click on your account name in the top left of the dashboard and select Setup Guide from the drop down menu.
Press the start button next to the "Integrate using Web API or SMTP relay"
Follow the wizard steps to create your API key.
Follow the instructions provided rmisegal except provide a user name of apikey and use the apiKey from SendGrid as the password.

How to create email verification on Firebase simple login

In angularfire seed project, there is an account registration process using email and password. But how can we verify that the email is not fake? I mean it is without server code, just client code.
Store a token in the database send the same token via e-mail to the client ask them to click a link in the e-mail that passes the token back to a page which marks their e-mail as verified.
You can angularjs-fire seed project at this link angularfire_seed_with_reg_confirmation. Some explanation of it here email verification using angularjs+firebase Below is the quote from its readme:
It is AngularJS seed with Firebase backend and a feature for account
registration confirmation via email. This feature can be used as an
alternative for account activation. It is a clone of AngularFire Seed
with additional feature above and also login feature vial social login
ie login with Facebook, Twitter, and Google.
The account registration differs significantly from the original seed.
We can register for an account just by supplying an email and then
we'll get a confirmation email about our temporary random password.
The password is recommended to be changed to a memorable one and at
the same time it must also be strong and secure.

Resources