|
Usuários |
|
52 Usuários Online
|
|
[Artigos]
Enviando email usando o componente Indy no Delphi7 |
Publicado por Martarello : Terça, Março 15, 2005 - 09:38 GMT-3 (29979 leituras)
12 Comentários Enviar para um amigo Versão para impressão
|
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 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??
|
[ Comentários não permitidos para usuários anônimos. Por gentileza, registre-se ou conecte-se ao sistema
por: LENIN (lj@hotmail.com) : Mai 02, 2005 - 11:14 (Informações sobre o membro | Enviar uma mensagem) http:// | Pessoal descobri o Problema... Estava dando erro de authenticação pq a propriedade authentication do idsmtp deve estar em AtLogin...
Como eu disse li o artigo "Enviando email usando o componente Indy no Delphi7".
Deixo pro pessoal do forum a sugestão de incluir no artigo essa informação....pq eu estava tentando usar o sistema com Yahoo gmail.. terra, IG e não funcionava...
tenho certeza q eu não fui o primeiro a ter esse problema e não serei o ultimo...
abraços... | [ Comentários não permitidos para usuários anônimos. Por gentileza, registre-se ou conecte-se ao sistema
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: wost (wost@pop.com.br) : Dez 04, 2008 - 05:22 (Informações sobre o membro | Enviar uma mensagem) | .
Parabens pelo exemplo, mas para funcionar comigo no Delphi 2006 tive que fazer assim:
//Adicionar em Uses
IdAttachmentFile;
//e alterar a linha:
TIdAttachment.Create(idmessage.MessageParts, TFileName(lbxAnexos.Items.Strings[Anexo]));
por:
TIdAttachmentFile.Create(idmessage.MessageParts, TFileName(lbxAnexos.Items.Strings[Anexo]));
.
| [ Comentários não permitidos para usuários anônimos. Por gentileza, registre-se ou conecte-se ao sistema
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
|
|
|
Edição 112 |
|
|
50 Programas Fontes |
|
|
Produtos |
|
|