こちらのヒントはhereです。「SSLネゴシエーションコマンドを開始できませんでした」というメッセージをGmailに送信できません。エラー
私はlibeay32.dllとssleay32.dllをwin32フォルダに持っています。
DFMファイル:
object tidSMTP: TIdSMTP
IOHandler = tidSMTP_SSL
SASLMechanisms = <>
UseTLS = utUseExplicitTLS
end
object tidSMTP_SSL: TIdSSLIOHandlerSocketOpenSSL
Destination = 'smtp.gmail.com:587'
Host = 'smtp.gmail.com'
MaxLineAction = maException
Port = 587
DefaultPort = 0
SSLOptions.Mode = sslmUnassigned
SSLOptions.VerifyMode = []
SSLOptions.VerifyDepth = 0
end
とボタンのクリックイベント送信:任意の助けをいただければ幸いです
procedure TForm1.btnSendClick(Sender: TObject);
var
mes:TIdMessage;
fromAddress:TIdEmailAddressItem;
toAddress:TIdEMailAddressItem;
begin
tidSMTP.Username := txtUsername.Text;
tidSMTP.Password := txtPassword.Text;
tidSMTP.Host := txtSMTPserver.Text; //smtp.gmail.com
tidSMTP.Port := StrToInt(txtSMTPport.Text); //587
fromAddress := TIdEMailAddressItem.Create;
fromAddress.Address := txtUsername.Text;
toAddress := TIdEMailAddressItem.Create;
toAddress.Address := txtTo.Text;
mes := TIdMessage.Create;
mes.ContentType := 'text/plain';
mes.From := fromAddress;
mes.ReceiptRecipient := toAddress;
mes.Subject := txtSubject.Text;
mes.Body := memoText.Lines;
tidSMTP.Connect;
tidSMTP.Send(mes);
tidSMTP.Disconnect;
end;
を!
は、ご返信いただきありがとうございます! SSLOptions.Methodを変更しても問題は解決しません!私はそれをsslvTLSv1に設定しました。 – Peacelyk
ちょっとフォックス、私のウイルス対策プログラムがそのポートをブロックしたことが判明しました。あなたの投稿を編集すれば、私はそれを答えとして受け入れます! – Peacelyk