Erro envio de email Delphi

Fórum sobre outras linguagens de programação.

Moderador: Moderadores

raquelreis
Usuário Nível 2
Usuário Nível 2
Mensagens: 87
Registrado em: 18 Jul 2011 15:29
Localização: à procura

Erro envio de email Delphi

Mensagem por raquelreis »

Boa Tarde pessoal,
É o seguinte, estou com uma rotina simples para envio de e-mails.
Ela funciona, mas quando mando e-mail para o Hotmail, dá o seguinte erro:
Realying Denied
Segue código:

Código: Selecionar todos

procedure TfrmPrincipal.btnEnvioClick(Sender: TObject);

begin
     IdSMTP1.Host := 'meuhost.com.br';
     IdSMTP1.Username := 'remetente@meuhost.com.br';

     IdMessage1.From.Address := 'remetente@meuhost.com.br';
     IdMessage1.Subject := 'Teste Indy Delphi';
     IdMessage1.Body.Text := '<html><body><b><center>Esse é o corpo do e-mail.</center></b></body></html>';
     IdMessage1.ContentType := 'text/html';

     IdMessage1.Recipients.EMailAddresses := 'destinatario@hotmail.com;

     if not IdSMTP1.Connected then
        IdSMTP1.Connect(2000);

     if IdSMTP1.Connected then
     begin
         try
            IdSMTP1.Send(IdMessage1);
         finally
            IdSMTP1.Disconnect;
         end;

     end;
     ShowMessage('Enviado com Sucesso!');

end;
Keel
[]'s

_____________________________________________________________________________________
PROGRAMADOR é aquele que te resolve um problema que você não sabia que tinha, de uma maneira que você não compreende.
raquelreis
Usuário Nível 2
Usuário Nível 2
Mensagens: 87
Registrado em: 18 Jul 2011 15:29
Localização: à procura

Erro envio de email Delphi

Mensagem por raquelreis »

Bom dia,

Após a inclusão do componente IdOhandle... O erro é:
'Could not Load SSL library'.
Já baixei, copiei em System32 e no diretório do meu projeto e nada...
Keel
[]'s

_____________________________________________________________________________________
PROGRAMADOR é aquele que te resolve um problema que você não sabia que tinha, de uma maneira que você não compreende.
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Erro envio de email Delphi

Mensagem por rochinha »

Amiguinha,

Voce precisa adicionar a pasta de seu aplicativos as dlls para openssl, ssleay32.dll e libssl32.dll.

Além do mais voce precisa enviar o nome do usuário, a senha de autenticação, a porta segura(SSL, geralmente 995).

Hotmail exige autenticação e seus servidores são pop3.live.com e smtp.live.com.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
raquelreis
Usuário Nível 2
Usuário Nível 2
Mensagens: 87
Registrado em: 18 Jul 2011 15:29
Localização: à procura

Erro envio de email Delphi

Mensagem por raquelreis »

Boa Tarde,

Obrigada rochinha, o problema foi resolvido. E com uma coisa e outra não lembrei de postar a solução.
1) Copiei as dlls para a pasta do windows/system32
2) copiei as dlls para a pasta do meu projeto
3) fiz as devidas autenticações

Mas, depois de tudo isso me veio a dúvida:
- Tenho um sistema e em algum momento preciso enviar o email.
Posso criar um executável e chamá-lo dentro do principal.
Ou devo criar essa rotina/form dentro do principal?
Keel
[]'s

_____________________________________________________________________________________
PROGRAMADOR é aquele que te resolve um problema que você não sabia que tinha, de uma maneira que você não compreende.
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Erro envio de email Delphi

Mensagem por rochinha »

Amiguinha,

O Delphi tem muitos bons componentes para este intuito, voce somente deverá encontrar oque que esteja mais atualizado em relação a autenticação.

Caso seje possivel também voce pode, através do Delphi, fazer acesso ao objeto do Windows CDOSYS para o envio de email usando uma rotina em seu aplicativo.

Através de OLE voce pode inserir ações no Outlook usando MAPI.

Mas em todo o caso, voce pode transparentemente usar o BLAT, chamando-o externamente passando-lhe os parametros assim como no Clipper.

O Blat, também possui uma DLL e voce poderá agregá-la ao seu aplicativo tornando-o mais versátil.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
maginal
Usuário Nível 1
Usuário Nível 1
Mensagens: 1
Registrado em: 24 Abr 2013 11:56
Localização: Feira de Santana / Bahia

Erro envio de email Delphi

Mensagem por maginal »

OI sou nomo no Forum e queria saber se algum pode me ajudar.
fiz um código para enviar e-mail uso delphi 7 e indy 10.1.5 só que quando uso essa procedure para efetuar os teste ele sempre da como bem sucedido

Código: Selecionar todos

begin
Try
  Screen.Cursor    := crHourGlass;
  IdSMTP1.Host     := Trim(EditSMTP.Text);
  IdSMTP1.Username := Trim(Edit_ID.Text);
  IdSMTP1.Password := Trim(MEditSenha.Text);
  IdSMTP1.Port     := StrToInt(Trim(EditPorta.Text));

  //*** Requer Autenticação
  If CBoxAutenticacao.Checked then
  Begin
//Não apareceu (AuthenticationType := atLogin;)  para  Consegue conectar
    IdSMTP1.AuthType       := atDefault;
  end //Fim If autenticação
  else
  Begin
//Não apareceu (AuthenticationType := atNone;)  
    IdSMTP1.AuthType := atNone;
  End;

  //*** Conexão Segura
  if CBoxSegura.Checked then
    IdSMTP1.IOHandler := IOHandlerSocket
  else
    IdSMTP1.IOHandler := nil;
//Aqui enssa parte ele da um erro assim.
//there is no overloaded version of 'connect' that can be called with these arguments
  If not IdSMTP1.Connected then
    IdSMTP1.Connect(2000);
algum pode me ajudar com isso?
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Erro envio de email Delphi

Mensagem por rochinha »

Amiguinho,

Para o envio de email é necessário também voce acrescentar a portaSSL 587 e reforçar as criticas, pois se esta dando resposta de "foi enviado com sucesso" pode ser que voce esteja apenas apresentando a mensagem sem criticar as respostas.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Responder