【FlutterFlow】sendGrideがテストモードでは送信できるが、実行モードだと送信できない

SendGrideのAPI設定を行い、テストでは実際にメールの送受信ができているのですが、実装したアプリ側で の送受信ができません。
考えられる原因があればご教授ください。

どんなエラーがでているのか?が分からないと、回答できないかと思います。

シンプルに、エラーも何もでてない、だけど動作しないということであれば、

条件分岐の処理:

Conditionalの条件分岐の設定ミス

  • apiResultnkt → Succeededの条件分岐が正しく機能しているか確認してください。APIコールが成功しても、この条件が満たされていない可能性があります。

その場合、
FALSE条件下の処理を追加して、FALSEになっているか?も確認ください。

あと、初心者にありがちなやつとしては、APIの設定をしてても
実行モード(RUN)でないと、APIは動作しないですよ。プレビューなどは不可。

【参考】 Sending an Email Using FlutterFlow and SendGrid

回答ありがとうございます。

FALSE処理をしてみたのですが、きちんと処理がされており設定しているアラートが表示されました。
実際に公開しているWebアプリでの実行ができない状態です。


多分、CORSではないですかね?

CORS は、サーバーへのリクエストの応答にヘッダーを実装し、そのサーバーへの特定の種類の呼び出しを許可されているドメインを指定します。SendGrid の場合、お客様がブラウザ ベースで v3/mail/send エンドポイントを呼び出すことは許可していません。

強引に合わすなら、FlutterFlow側で、MakePrivateをONにして、強制的にFirebase側にリクエストさせると、解決すると思いました。

【参考】クロスオリジンリソース共有 (CORS)

このパターンであれば、送信失敗のダイアログメッセージにAPIのレスポンスか、exit codeを出力する用にしておけば、原因は特定できますね。
あとは、chromeブラウザなどからテストモードで起動して再現できる場合、ChromeのHTTPヘッダーを仕掛ければ、エラーコードや詳細が確認できますね。

HTTPヘッダーの確認方法

「いいね!」 1

ありがとうございます!
MakePrivateをONにすると送れました!

「いいね!」 1

ありがとうございます!
試してみます!

良かったです~。

「いいね!」 1