こんばんは。panacheです。
この間はお世話になりました。
おかげさまでSSL認証も通り、Gmailからメールを送信することができました。
しかし、hotmailで送ろうとするとエラーが出てしまい送信することができません。
パケットキャプチャしてみても特に問題は無いように見えます。
エラーの種類は例外で「範囲チェックエラー」です。
ブレークしてみるとエラー箇所は認証ではなくその後の送信のところで起こっていました。
調べたところ、整数関係のエラーのようですが、なぜメール送信でこのようなエラーが出るのでしょうか?
ちなみにGmailでは問題無く送信できています。送信処理にはスレッドを使っています。
-----
//-----SMTPの設定
SMTP := TIdSMTP.Create(nil);
SMTP.Host := Form1.Edit1.Text;
SMTP.Port:=587;
SMTP.Username :=Form1.Edit2.Text; // UserName
SMTP.Password:= Form1.Edit3.Text; // Password
//-----SSL関係
SSL := TIdSSLIOHandlerSocketOpenSSL.Create;
SSL.Host := SMTP.Host;
SSL.Port := SMTP.Port;
SSL.Destination := SSL.Host + ':' + IntToStr(SSL.Port);
SMTP.IOHandler := SSL;
SMTP.UseTLS := utUseExplicitTLS;
SMTP.Connect;
Synchronize(suc);
//-----IdMessageの設定とSMTPのsend
Msg := TIdMessage.Create(SMTP);
ahost:=Form1.Edit1.Text;
asubject:=jconvert.CreateHeaderString2(Form1.Edit6.Text) ;
amailto:=Form1.Edit4.Text;
afrom:=jconvert.CreateHeaderString2(Form1.Edit5.Text);
abody:= jconvert.ConvertJCode(Form1.Memo1.Text,JIS_OUT);
with msg do
begin
Subject := asubject;
Recipients.EMailAddresses := amailto;
From.Text := afrom;
Body.Text := abody;
CharSet := 'ISO-2022-JP';
ContentType := 'text/plain';
end;
Synchronize(send);
SMTP.Send(Msg);
Synchronize(finish);
SMTP.Disconnect;
end;
-----
どなたかご教授お願いします。
ツイート | ![]() |