掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Indyを使いgmailで送信する機能をIPv6に対応させるには? (ID:49326)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>通りすがりさん いつもお世話になっております。 書き込んでいただいたコードを追加して、上記のコードでAppleの審査を受けましたが、Rejectされました。 「アドレスsmtp.gmail.comの解決時にエラーが発生しました:(8)」とのエラーがIPv6環境で発生したとのことです。 このエラーは自分のIPv4環境でネットに繋いでいない時にも出ました。 アプリの機能として、このメールを送信する機能の後、グーグルフォームを開く機能が動くことになっています。 これもインターネットを通してやります。 https://www.gesource.jp/weblog/?p=6952 こちらのリンク先の以下のコードを使わせていただき実装しました。 加えて、IPv6に対応させるために、以下のリンク先のコードを加えて以下のように実装しました。 https://stackoverflow.com/questions/45215172/delphi-datasnap-connection-error-with-ipv6-ios すると、IPv4環境ではメール送信まではできますが、その先のグーグルフォームに繋ぐ際のところで、以下のエラーが出てしまいます。 「エラー アドレス 00000001017C4334でアクセス違反が発生しました。(アドレス000000000000000へのアクセス時)」 ここからどのようにしていけば良いのでしょうか。 お忙しいところ恐縮ですがお知恵をお貸しいただけますとありがたいです。 // Googleフォームを開く Procedure OpenGoogleForm; Var ipversion : String; Begin // IPv6に対応させる IdTCPClient1.IPVersion:=Id_IPv4; // <-- try IPv4 first IdTCPClient1.Host:=MY_IP; try IdTCPClient1.Connect; result:=true; ipversion := 'IPv4'; // <-- will tell us what ip version to use except end; if IdTCPClient1.Connected=false then begin try IdTCPClient1.IPVersion:=Id_IPv6; // <-- now try IPv6 IdTCPClient1.Connect; result:=true; ipversion:='IPv6'; // <-- will tell us what ip version to use except end; end; // URLを開く {$IFDEF ANDROID} Intent := TJIntent.Create; Intent.setAction(TJIntent.JavaClass.ACTION_VIEW); Intent.setData(StrToJURI('https://docs.google.com/forms/d/e/1FAIpQLSfyNDVg4xjwdCT349wYB4W2f85tDry5m5ShGHFNdiUFinpcWQ/viewform?c=0&w=1')); SharedActivity.startActivity(Intent); {$ENDIF} {$IFDEF IOS} SharedApplication.openURL(StrToNSUrl('https://docs.google.com/forms/d/e/1FAIpQLSfyNDVg4xjwdCT349wYB4W2f85tDry5m5ShGHFNdiUFinpcWQ/viewform?c=0&w=1')); {$ENDIF} End;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.