Erro ao tentar enviar e-mail pelo delphi xe5
15/04/2016
0
Criei uma rotina no meu programa para capturar todas as telas de erros, zipar e posteriormente enviar para o meu email para que assim eu efetue as correções necessárias. Com tudo a "moça bonita - chamada delphi xe5" tá batendo só na cara pra não tirar a tirar a calçinha - kkkkk.... sempre dá erro ao conectar ao servidor de email para enviar.
ALGUÉM PODE ME AJUDAR? DAR UMA LUZ NESSE TUNEL ESCURO.... DE ANTE MAO JA AGRADEÇO
meu código esta escrito assim:
Var nomeArq:string;
ano, mes, dia, hor, min, seg, Mseg:word;
i : Integer;
FileIni, FileOut: TFileStream;
Zip: TCompressionStream;
slFiles: TStringList;
IdSSLIOHandlerSocket: TIdSSLIOHandlerSocketOpenSSL;
IdSMTP: TIdSMTP;
IdMessage: TIdMessage;
IdText: TIdText;
sAnexo: string;
begin
{MessageDlg(E.Message + #13#13 +
'Reinicie o sistema!',
mtError, [mbOK], 0);}
//...Captura e salva a tela atual do erro.
try
Captura.picture.Assign(CaptureScreenRect(Rect(0,0,Screen.Width,Screen.Height)));
DecodeDateTime(Now,ano,mes,dia,hor,min,seg,mseg);
nomeArq := IntToStr(dia)+'_'+FormatFloat('00',mes)+'_'+IntToStr(ano)+' - '+IntToStr(hor)+'h '+IntToStr(min)+'min e '+IntToStr(seg)+'seg '+ lnome;
nomeArq := ExtractFilePath(Application.ExeName)+ 'erros\' +nomeArq;
BmpToJpg(Captura.picture.Bitmap, nomeArq);
except
end;
//...Compacta em Anexo a Pasta com as Imagens de Erros Capturada.
slFiles := TStringList.Create;
EnumFiles(ExtractFilePath(Application.ExeName)+ 'erros', '*', faAnyFile - faDirectory, slFiles, True, True);
CompressFiles(slFiles, 'erros' + '.zip');
slFiles.Free;
if InternetCheckConnection('http://www.google.com/',1,0) then
begin
// instanciação dos objetos
IdSSLIOHandlerSocket := TIdSSLIOHandlerSocketOpenSSL.Create(Self);
IdSMTP := TIdSMTP.Create(Self);
IdMessage := TIdMessage.Create(Self);
try
// Configuração do protocolo SSL (TIdSSLIOHandlerSocketOpenSSL)
IdSSLIOHandlerSocket.SSLOptions.Method := sslvSSLv23;
IdSSLIOHandlerSocket.SSLOptions.Mode := sslmClient;
// Configuração do servidor SMTP (TIdSMTP)
IdSMTP.IOHandler := IdSSLIOHandlerSocket;
IdSMTP.UseTLS := utUseImplicitTLS;
IdSMTP.AuthType := satDefault;
IdSMTP.Port := 465;
IdSMTP.Host := 'smtp.gmail.com';
IdSMTP.Username := 'zumbinho@gmail.com';
IdSMTP.Password := 'bandodeloucos';
// Configuração da mensagem (TIdMessage)
IdMessage.From.Address := 'zumbinho@gmail.com';
IdMessage.From.Name := 'Nome do Remetente';
IdMessage.ReplyTo.EMailAddresses := IdMessage.From.Address;
IdMessage.Recipients.Add.Text := 'marcosmta@hotmail.com';
IdMessage.Subject := 'Verificar Erro no Ascom 1.0';
IdMessage.Encoding := meMIME;
// Configuração do corpo do email (TIdText)
IdText := TIdText.Create(IdMessage.MessageParts);
IdText.Body.Add('Corpo do e-mail');
IdText.ContentType := 'text/plain; charset=iso-8859-1';
// Opcional - Anexo da mensagem (TIdAttachmentFile)
sAnexo := ExtractFilePath(Application.ExeName)+ 'Erros.zip';
if FileExists(sAnexo) then
begin
TIdAttachmentFile.Create(IdMessage.MessageParts, sAnexo);
end;
// Conexão e autenticação
try
IdSMTP.Connect;
IdSMTP.Authenticate;
except
on E:Exception do
begin
MessageDlg('Erro na conexão ou autenticação: ' +
E.Message, mtWarning, [mbOK], 0);
Exit;
end;
end;
// Envio da mensagem
try
IdSMTP.Send(IdMessage);
MessageDlg('Mensagem enviada com sucesso!', mtInformation, [mbOK], 0);
except
On E:Exception do
begin
MessageDlg('Erro ao enviar a mensagem: ' +
E.Message, mtWarning, [mbOK], 0);
end;
end;
finally
// desconecta do servidor
IdSMTP.Disconnect;
// liberação da DLL
UnLoadOpenSSLLibrary;
// liberação dos objetos da memória
FreeAndNil(IdMessage);
FreeAndNil(IdSSLIOHandlerSocket);
FreeAndNil(IdSMTP);
end;
end;
Hardsoft Informática
Posts
15/04/2016
Raylan Zibel
15/04/2016
Hardsoft Informática
Erro na conexão ou autenticação: <https://accounts.google.com.br/signin/xontinue?sarp..
16/04/2016
Hamilton Oliveira
http://indy.fulgan.com/SSL/indy_OpenSSL096m.zip
Após baixa-las, descompacte-as no diretório C:\WINDOWS\System32, ou junto ao seu executável.
Leia mais em: Envio de E-mail usando o componente indy usando SMTP Gmail https://www.devmedia.com.br/envio-de-e-mail-usando-o-componente-indy-usando-smtp-gmail/9107#ixzz462YVKKYd
Clique aqui para fazer login e interagir na Comunidade :)