インディの10IdSMTP.Send()が掛かっ送信時にメッセージからのGMailアカウント
質問
い送信メールを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、「食べる」(または非表示)例外ます。