インディの10IdSMTP.Send()が掛かっ送信時にメッセージからのGMailアカウント

StackOverflow https://stackoverflow.com/questions/2145515

質問

い送信メールをgmailアカウント(デ7日、インディ10)これらの設定:

TIdSmtp:

Port = 587;
UseTLS := utUseExplicitTLS;

TIdSSLIOHandlerSocketOpenSSL:

SSLOptions.Method := sslvTLSv1;

思うので設定される。私はこの応答:

Resolving hostname smtp.gmail.com.
Connecting to 74.125.77.109.
SSL status: "before/connect initialization"
SSL status: "before/connect initialization"
SSL status: "SSLv3 write client hello A"
SSL status: "SSLv3 read server hello A"
SSL status: "SSLv3 read server certificate A"
SSL status: "SSLv3 read server done A"
SSL status: "SSLv3 write client key exchange A"
SSL status: "SSLv3 write change cipher spec A"
SSL status: "SSLv3 write finished A"
SSL status: "SSLv3 flush data"
SSL status: "SSLv3 read finished A"
SSL status: "SSL negotiation finished successfully"
SSL status: "SSL negotiation finished successfully"
Cipher: name = RC4-MD5; description = RC4-MD5                 SSLv3 Kx=RSA      Au=RSA  Enc=RC4(128)  Mac=MD5 
; bits = 128; version = TLSv1/SSLv3;

しかかりな仕上がりです。Eメールが送信されます。何ができる問題なのでしょうか。

役に立ちましたか?

解決 2

問題は簡単でした。長いタイムアウトがあった、私は十分ではなかった患者とアプリケーションがハングアップしませんでした。タイムアウトは、間違った設定の結果であった。

他のヒント

はい、私はindy10とTLS(一般的にはGmail)で問題をたくさん見てきました。

最初のmakeはあなたが持っている最新のSSLライブラリこちらから

私はインディの最先端のバージョン(すなわち非安定版リリース)で解決されている断続的な屋台やエラーを見てきました。 http://www.indyproject.org/sockets/download/svn.DE見ます.aspxの

Gmailの、私は一般的にポート465でimplicityTLSを使用..

  idSmtp := TIdSMTP.Create(nil);
  try
    idSmtp.IOHandler := nil;
    idSmtp.ManagedIOHandler := true;

    // try to use SSL
    try
      TIdSSLContext.Create.Free;
      idSmtp.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(idSmtp);
      if (smtpSettings.port = 465) then
        idSmtp.UseTLS := utUseImplicitTLS
      else
        idSmtp.UseTLS := utUseExplicitTLS;
    except
      idSmtp.IOHandler.Free;
      idSmtp.IOHandler := nil;
    end;

    if (idSmtp.IOHandler = nil) then
    begin
      idSmtp.IOHandler := TIdIOHandler.MakeDefaultIOHandler(idSmtp);
      idSmtp.UseTLS := utNoTLSSupport;
    end;

    // send message, etc

  finally
    idSmtp.Free;
  end;

最初に、ご確認のコードはその他のメールサーバー?

少し前の話になっても困りのあるサーバーの受付をhttp要求のインディTIdHTTPます。理由はたったインディの一部には含まれまuseragent:

      Request.UserAgent := 'Mozilla/3.0 (compatible; Indy Library)';

された インディ図書館 内にあります。明らかであった悪性webサービスで作成されたインディ地区を拒絶することがあり接続をアプリケーションで作成されます。

私はしてお使いいただく場合には、コンポーネントご利用には何らかのUserAgent物件です。があった場合は、null合への参照インディ.

インディをテストする場合、

は、あなたは必ず「停止デルファイの例外」がチェックされていることでなければなりません(ツール、デバッガオプション、言語の例外)。

一部のルーチン、ハングアップが得られ、特にidSMTP.Send、「食べる」(または非表示)例外ます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top