Program belli işleri yaptıktan sonra mail gönderiyor
Ben kendimde denediğimde maili gönderdi exeyi başka arkadaşlara denettirdim onlarda da yükledi fakat asıl kullanılması gereken yerde baya bekliyor connection da oluyor debug ettiğğimde
Kod: Tümünü seç
smtp.sen(msg);
"Connection Closes Gracefully" HATASI ALIYORUM
Kodlar :
Kod: Tümünü seç
procedure email_gonder(const html,maillist:string);
var
SMTP: TIdSMTP;
Msg: TIdMessage;
HtmlPart:TIdText;
idSASLLogin: TIdSASLLogin;
idUserPassProvider: TIdUserPassProvider;
begin
Msg := TIdMessage.Create(nil);
try
Msg.From.Address := '....r';
Msg.Recipients.EMailAddresses := maillist;
Msg.Body.Text :='';
Msg.Subject := 'Personel İzin Bildirimi';
msg.ContentType := 'multipart/related; type="text/html"';
Msg.CharSet := 'iso-8859-9';
HtmlPart :=TIdText.Create(msg.MessageParts);
HtmlPart.ContentType :='text/html';
HtmlPart.CharSet :='iso-8859-9';
HtmlPart.Body.Text :=html;
SMTP := TIdSMTP.Create(nil);
smtp.IOHandler :=TIdSSLIOHandlerSocketOpenSSL.Create(SMTP);
SMTP.UseTLS :=utUseExplicitTLS;
TIdSSLIOHandlerSocketOpenSSL(SMTP.IOHandler).SSLOptions.Method:=sslvSSLv3;
try
SMTP.Host := 'smtp.office365.com';
SMTP.Port := 587;
SMTP.AuthType := satDefault;
idSASLLogin := TIdSASLLogin.Create(SMTP);
idUserPassProvider := TIdUserPassProvider.Create(idSASLLogin);
idSASLLogin.UserPassProvider := idUserPassProvider;
idSASLLogin.UserPassProvider := idUserPassProvider;
idUserPassProvider.Username := '...';
idUserPassProvider.Password := '******';
SMTP.AuthType := satSASL;
SMTP.SASLMechanisms.Add.SASL := idSASLLogin;
SMTP.Connect;
smtp.Authenticate;
SMTP.Send(Msg);
finally
SMTP.Free;
end;
finally
Msg.Free;
end;
end;