Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Amigos,
como fazer para enviar um email com uma imagem em anexo??
Desde já grato!!
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/](http://forum.imasters.com.br/public/style_emoticons/)default/thumbsup.gif Abs T++
Da uma olhada nesse tutorial que o marcio me mando
http://forum.imasters.com.br/index.php?/topic/230298-envio-de-e-mail/
Abraço