掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
indy10でgmailを送信したい。 (ID:34530)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Delphi5とindy10の組み合わせでgmailに送信をしたいのですが、どうしてもうまく行きません。 過去ログやcodezineなどのソースをサンプルにして、下記のようなコードを書いてみました。 procedure Tform1.MailSender; var hdAttach : string; Msg : TIdMessage; SMTP : TIdSMTP; Login : TIdSASLLogin; Provider : TIdUserPassProvider; begin // 初期化 SMTP := TIdSMTP.Create(nil); Login := TIdSASLLogin.Create(SMTP); Provider := TIdUserPassProvider.Create(Login); Login.UserPassProvider := Provider; Provider.Username := edtUserID.Text; Provider.Password := edtPassword.Text; SMTP.SASLMechanisms.Add.SASL := Login; //SMTP.AuthType := atSASL; SMTP.AuthType := atDefault; SMTP.Host :=edtServer.Text; SMTP.Port := StrToInt(edtPort.Text); SMTP.IOHandler := SSLHandler; SMTP.UseTLS := utUseExplicitTLS; // IdMessageのセット Msg := TIdMessage.Create(SMTP); Msg.From.Name := jConvert.CreateHeaderString(edtFrom.Text); Msg.From.Address := jConvert.CreateHeaderString(edtReply.Text); Msg.Recipients.EMailAddresses := edtTO.Text; Msg.CCList.EMailAddresses := edtCC.Text; Msg.BccList.EMailAddresses := edtBCC.Text; Msg.Subject := jConvert.CreateHeaderString(edtSubject.Text); Msg.Body.Text := jConvert.ConvertJCode(memBody.Lines.Text, JIS_OUT); Try try SMTP.Connect; SMTP.Authenticate; SMTP.Send(Msg); except on exception do begin ShowMessage('メール送信に失敗しました'); end; end; Finally if SMTP.Connected then SMTP.Disconnect; Msg.Free; Provider.Free; Login.Free; SMTP.Free; end; end; ですが、必ず「EIdOSSLCouldNotLoadSSLLibraryクラスの例外を生成しました。'Could not load SSL library.'」の例外が発生し、 constructor TIdSSLContext.Create; begin inherited Create; if DLLLoadCount <= 0 then begin if not IdSSLOpenSSL.LoadOpenSLLibrary then begin raise EIdOSSLCouldNotLoadSSLLibrary.Create(RSOSSLCouldNotLoadSSLLibrary); end; end; Inc(DLLLoadCount); fVerifyMode := []; fMode := sslmUnassigned; fSessionId := 1; end; の部分が表示されて止まってしまいます。 SSLに必要とされているDLLはダウンロードして、実行ファイルと同じフォルダにおいています。 実行ファイルからですと例外は出ませんが、送信もできません。 何がマズイのでしょうか。どなたか教えていただけませんでしょうか。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.