Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marcelo R Moura

Enviar Email Com Anexo

Recommended Posts

Em uma nova aplicação inclua cinco Edits e dois Memos (paleta Standard), um SpeedButton e um BitBtn (paleta Additional), um IdSMTP (paleta IndyClients), um IdMessage (paleta IndyMisc), um OpenDialog (paleta Dialogs).

Veremos agora as propriedades a serem alteradas:

 

No Memo1 altere a propriedade Name para MmMensagem, limpe sua propriedade Lines e altere a propriedade ScrollBar para ssVertical. Repita o procedimento anterior no Memo2, com exceção da propriedade Name que deve ser MmStatus.

 

Altere o nome do IdSMTP para smtp.

 

Vamos agora ao código:

 

O procedimento abaixo é responsável por enviar as informações para o smtp e para o IdMessage, anexar o arquivo desejado e enviar a mensagem. Adicione o código abaixo no evento OnClick do BitBtn1:

 

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  with smtp do
  begin
    //Nome do host
    Host := edit1.Text;
    //Nome do usuário, normalmente o e-mail
    Username := edit2.Text;
    //Conecta com o servidor smtp
    Connect();
  end;
  with IdMessage do
  begin
    //O seu endereço de e-mail
    From.Address := edit2.Text;
    //Aqui vai o endereço de e-mail para o qual você quer mandar o e-mail
    Recipients.EMailAddresses := edit3.Text;
    //O assunto da mensagem
    Subject := edit4.Text;
    //A mensagem que você quer mandar
    Body.Text := MmMensagem.Lines.Text;
    MessageParts.Clear;
  end;
  //Aqui para poder anexar um arquivo
  TIdAttachment.Create(IdMessage.MessageParts, edit5.Text);
  //Envia a mensagem
  SMTP.Send(IdMessage);
  SMTP.Disconnect;
end;

O procedimento a seguir insere no MmStatus as mensagens sobre o status do envio dos e-mails

Adicione o código abaixo no evento OnStatus do smtp

 

procedure TForm1.smtpStatus(ASender: TObject; const AStatus: TIdStatus; const AStatusText: string);
begin
  mmStatus.Lines.Add(AStatusText);
end;

O próximo procedimento tem como objetivo selecionar (através do OpenDialog1)

o arquivo a ser atachado ao e-mail.

Copie o código abaixo no evento OnClick do SpeedButton1

 

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
    edit5.Text := OpenDialog1.FileName;
end;
http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Abs T++

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.