Azure AD B2C標準のユーザーフローやIEFのカスタムポリシーだと、電子メールアドレスの検証時などMicrosoftのfromアドレスからメールが送信されてしまいます。本文などもAzure AD B2Cの標準のものですね。
今までこの部分のカスタマイズはだいぶ面倒だったのですが(自前でAPI用意したり)、ちょっと前のアップデートでだいぶ簡単になりました。ただしまだPreview機能。
基本的には上記の通りやっていけば、少なくともサインアップサインインなフローで問題なくSendGrid経由でメールが送信できるはず。(どこにどう記述したらいいのか分からない、のであればもうちょっとIEFを知るところから、、という感じでしょうか)
なお出来上がりのカスタムポリシーはGitHubにあるのでそちらを見れば早いです。
基本的にやることは
- SendGridのAPIキーをポリシーキーとして保存しておく
- DisplayClaimsで定義したemailVerificationControlを使う
辺りでしょうか。DisplayControlを使うためのREST API(SendGrid連携)辺りはコピペ&修正で十分です。(テンプレートIDやテンプレートに渡す変数名など必要に応じて直せばいいでしょう)
こちらも参考に。
ローカライズ周り
標準の電子メールアドレス検証ではなくなるので、ローカライズしてる場合はStringIdなどが変わります。実際にロードされた画面のソース(CONTENT変数)を見てStringIdを探しましょう(

今回のDisplayControl関連だと以下のようなIDが使われているようです。(Previewなので変わる可能性はある)
<LocalizedString ElementType="UxElement" StringId="verification_control_code_sent">確認コードが受信トレイに送信されました。次の入力ボックスにコピーしてください。</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="verification_control_but_send_new_code">新しいコードを送信します</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="verification_control_but_verify_code">コードの確認</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="verification_control_but_send_code">確認コードを送信する</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="verification_control_fail_verify_code">確認コードの検証に失敗しました。しばらくして再試行してください。</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="verification_control_but_change_claims">電子メールアドレスの変更</LocalizedString>
<LocalizedString ElementType="UxElement" StringId="verification_control_fail_send_code">確認コードを送信できませんでした。しばらくしてから再試行してください。</LocalizedString>
まとめ
新しいメール検証用のDisplayControlを使えばだいぶ楽にSendGrid連携できますね!というわけで是非活用してください。