Fórum Email direto do delphi #208529

22/01/2004

0

Amigos,

Tenho pouca experiencia em delphi, e deparei com a seguinte colocação: é possível com delphi 5 criar um formulário e após preenche-lo enviar os dados para um e-mail diretamente em delphi?

Se sim, ficaria grato se alguem indicasse um local onde acho algum exemplo ou uma dica.


Ant.neto

Ant.neto

Responder

Posts

22/01/2004

Fabio.hc

1. Coloque um componente TNMSMTP (paleta FastNet) no form

2. Coloque um botão e no evento OnClick deste botão escreva:

procedure TForm1.Button1Click(Sender: TObject);
begin

{ Seu servidor SMTP }
NMSMTP1.Host := ´smtp.servidor.com.br´;

{ Porta SMTP, **NÃO MUDE ISTO** }
NMSMTP1.Port := 25;

{ Nome de login do usuário }
NMSMTP1.UserID := ´MeuLogin´;

{ Conecta ao servidor }
NMSMTP1.Connect;

{ Se ocorrer algum erro durante a conexão com o servidor, avise! }
if not NMSMTP1.Connected then
raise Exception.Create(´Erro de conexão´);

with NMSMTP1.PostMessage do begin
{ Seu e-mail }
FromAddress := ´meuemail@meuserver.com.br´;

{ Seu nome }
FromName := ´Meu Nome´;

{ E-mail do destinatário }
ToAddress.Clear;
ToAddress.Add(´destinatario@servidor.com.br´);

{ Assunto da mensagem }
Subject := ´Assunto da mensagem´;

{ Corpo da mensagem }
Body.Clear;
Body.Add(´Primeira linha da mensagem´);
Body.Add(´Segunda linha da mensagem´);
Body.Add(´´); { Linha em branco }
Body.Add(´Última linha da mensagem´);

{ Anexar arquivos(Se não quiser anexar arquivos, apague as 3 linhas seguintes) }

Attachments.Clear;

{ Endereço do anexo }
Attachments.Add(´c:\diretorio\arquivo.ext´);

end;

{ Manda o e-mail }
NMSMTP1.SendMail;
{ Disconecta do servidor }
NMSMTP1.Disconnect;
end;


Responder

Gostei + 0

22/01/2004

Ant.neto

1. Coloque um componente TNMSMTP (paleta FastNet) no form Caro Fábio, obrigado pela ajuda, sua instrução é bem compreensíve, mas se eu quiser enviar os edits do form... ficaria assim: Body.Add(´Nome:´ + edit1.txt); ou coisa parecida.. como fica? Obrigado novamente. { Corpo da mensagem } Body.Clear; Body.Add(´Primeira linha da mensagem´); Body.Add(´Segunda linha da mensagem´); Body.Add(´´); { Linha em branco } Body.Add(´Última linha da mensagem´); { Anexar arquivos(Se não quiser anexar arquivos, apague as 3 linhas seguintes) } Attachments.Clear; { Endereço do anexo } Attachments.Add(´c:\diretorio\arquivo.ext´); end; { Manda o e-mail } NMSMTP1.SendMail; { Disconecta do servidor } NMSMTP1.Disconnect; end;



Responder

Gostei + 0

22/01/2004

Otto

pra melhorar seu sistema, vc tb pode tenta o seguinte,

na hora de enviar, faça isso:


try
NMSMTP1.SendMail; 
except
ShowMessage(´mensagem de erro qualquer´);
end; //try




qualquer coisa, manda um post ae...


Responder

Gostei + 0

23/01/2004

Nigro

Se você usa o D6, você tem ai alguns exemplos de como trabalhar com a Paleta Indy, que na minha opinião é mais rápida em se tratando de acesso discado, mas se você trabalha com D7, esses exemplos deverão ser baixados.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar