Clique para saber mais...
  Home     Download     Produtos / Cursos     Revista     Vídeo Aulas     Fórum     Contato   Clique aqui para logar | 05 de Outubro de 2026
  Login

Codinome
Senha
Salvar informações

 Esqueci minha senha
 Novo Cadastro

  Usuários
52 Usuários Online

  Revista ActiveDelphi
 Assine Já!
 Edições
 Sobre a Revista

  Conteúdo
 Apostilas
 Artigos
 Componentes
 Dicas
 News
 Programas / Exemplos
 Vídeo Aulas

  Serviços
 Active News
 Fórum
 Produtos / Cursos

  Outros
 Colunistas
 Contato
 Top 10

  Publicidade

  [Artigos]  Enviando email usando o componente Indy no Delphi7
Publicado por Martarello : Terça, Março 15, 2005 - 09:38 GMT-3 (29979 leituras)
Comentários 12 Comentários   Enviar esta notícia a um amigo Enviar para um amigo   Versão para Impressão Versão para impressão
Administrador Veremos neste artigo como é fácil enviar email utilizando o componente Indy presente no delphi 7.
Apresentaremos abaixo uma simples aplicação, basta você ter um pouco de criatividade e dar asas a sua imaginação...
No Delphi crie um novo projeto.
Salve a Unit com o nome UEmail e o projeto como Email.

Utilize os seguintes componentes:

3 Labels:
Altere as propriedades Caption respectivamente para: (Para, Assunto, Mensagem)

2 Edits
Altere as propriedades Name respectivamente para:(edtPara, edtAssunto);
Apague o conteúdo das propriedades Text;

1 ListBox
Altere a propriedade Name para:(lbxAnexos)

1 Componente Memo
Altere a propriedade Name para:(mmMensagem);
Apague o conteúdo da propriedade lines.

3 Componentes Bitbtn
Altere as propriedades Caption respectivamente para:(Anexar,Enviar,Fechar)
Altere as propriedades Name respectivamente para:(btAnexar,btEnviar,btFechar)

Agora insira um componente OpenDialog da palheta Dialogs
Altere a propriedade Name para:(odAnexos)

Insira um componente IdMessage, da palhete Indy Misc
Configure a propriedades From|Address com o email do remetente e From|Name com o
nome do remetente
Altere a propriedade Name para:(IdMessage)

Insira um componente IdSMTP da palheta IndyClients
Configure as propriedades Host com o endereço IP ou o DNS do servidor de email,
por exemplo: smtp.uol.com.br
Configure as propriedades Password e Username, para se autenticar no servidor,
caso seja necessário.
Altere a propriedade name para:(IdSMTP)

Agora vamos aos códigos:

No evento onclick do botão btAnexos:
procedure TForm1.btAnexarClick(Sender: Tobject);
begin
  if odAnexos.Execute then
    lbxAnexos.Items.Add(odAnexos.FileName);
end;

No evento onclick do botão btFechar:
procedure TForm1.btFecharClick(Sender: Tobject);
begin
  Application.Terminate;
end;

No evento onclick do botão btEnviar:

procedure TForm1.btEnviarClick(Sender: TObject);
var Anexo : Integer;
begin
  IdMessage.Recipients.EMailAddresses := edtPara.Text;
  IdMessage.Subject := edtAssunto.Text;
  IdMessage.Body := mmMensagem.Lines;

  //Manipulando os Anexos
  for Anexo := 0 to lbxAnexos.Items.Count-1 do
    TIdAttachment.Create(idmessage.MessageParts, TFileName(lbxAnexos.Items.Strings[Anexo]));

  IdSMTP.Connect;
  try
    IdSMTP.Send(IdMessage);
  finally
    IdSMTP.Disconnect;
  end;
  Application.MessageBox('Email enviado com sucesso!', 'Confirmação',
MB_ICONINFORMATION +   MB_OK);
end;

Valeu, até a próxima.

Alessandro Martarello


Comentários Comentários
   Ordem:  
Comentários pertencem aos seus respectivos autores. Não somos responsáveis pelo seus conteúdos.


por: plinho_v : Abr 02, 2005 - 06:46
(Informações sobre o membro | Enviar uma mensagem)
eu tentei fazer isso usando o servidor do yahoo [smtp.mail.yahoo.com.br], ta tudo teoricamente certo, mas aparece esse erro:"authorization failed (#5.7.0)", por que isso ocorre, é do servidor do yahoo ou do meu prog??


por: dave-grohl : Mai 22, 2005 - 06:49
(Informações sobre o membro | Enviar uma mensagem) http://www.clubedorock.dk3.com
fiz tudo certo, mas quando vou enviar um e-mail retorna um erro "Command failed.Mailbox is unavaiable." alguém pode me ajudar???


por: tonytpa : Out 24, 2005 - 09:48
(Informações sobre o membro | Enviar uma mensagem) http://
Não consigo enviar email para alguns domínios como exemplo oi.com.br. Recebo a mensagem 'Sorry, that domain isn´t in my list of allowed rcpthosts'. Só consigo enviar para email do meu domínio. alguem tem solução para isto?


por: jacmsh : Out 11, 2006 - 11:32
(Informações sobre o membro | Enviar uma mensagem)
tentei fazer esta aplicação, mas ocorreu o seguinte erro:
raised exception class EidSocketError with message
'Socket Error #11004'
Se puder ajudar-me fico muito grato.
E-mail: miyashiro_msh@hotmail.com


por: juniorcone : Jan 31, 2007 - 05:20
(Informações sobre o membro | Enviar uma mensagem) http://
Como eu faço para receber a confirmação de leitura com o Indy???


por: xcaseinf (xcaseinf@hotmail.com) : Mar 21, 2008 - 12:45
(Informações sobre o membro | Enviar uma mensagem)
Cara, muito bom a rotina.
O Alessandro esta de parabém, muito bom mesmo.
Funciona.


por: felippevalentim (agropec-santacruz@uol.com.br) : Ago 16, 2010 - 07:20
(Informações sobre o membro | Enviar uma mensagem)
Gostaria de saber, acabei demontar estre pojeto no delphi, e qunado clico em enviar no projeto projeto pronto e-mail, fica travado e com o tempo da o erro connection closed graceffuly, e o email que envio nao vai?? necessito d eajuda para elaborar meu programa


por: broze (broze@bol.com.br) : Out 13, 2010 - 05:07
(Informações sobre o membro | Enviar uma mensagem) http://http://
Fiz tudo conforme manda o figurino, inclusive o programa até informa que a mensagem foi enviada, mas quando vou ver se o email chegou simplesmente não chega. Aguém pode me ajudar?
Jovanio


por: dreamsoft (marcos.cruz@dreamsoftware.info) : Out 24, 2011 - 11:21
(Informações sobre o membro | Enviar uma mensagem)
ola esse deu certo mais e como faco para carregar um html com imagens etc.. ?
  Edição 112

Revista ActiveDelphi

  50 Programas Fontes


  Produtos

Conheça Nossos Produtos

Copyright© 2001-2016 – Active Delphi – Todos os direitos reservados