Ola pessoal, estou colocando aqui a forma como eu consegui resolver o
problema de enviar e-mail em formato html com uma imagem no inicio da
mensagem e colocando arquivos em anexo, espero que essa rotina ajude as
pessoas que estao com esse problema
a rotina foi feita usando componentes indy e o delphi7
Coloquei 1 componente TIdmessage e 1 componente TIDSmtp
Var    NewText:TIdText;
          NewAttach:TIdAttachment;
begin
  Msg.Clear;
  Msg.Body.Clear;
  NewText := TIdText.Create(msg.MessageParts);
  NewText.ContentType:='text/HTML;
  NewText.Body.Add('<HTML><BODY>');
  NewText.Body.Add('<img src="http://www.caminho da imagem/imagem.JPG"
ALIGN="LEFT" WIDTH="800" HEIGHT="130">');
  NewText.Body.Add('<DIV> <DIV>');
  NewText.Body.Add('<DIV> <DIV>');
  NewText.Body.Add('<BR><BR>');
  NewText.Body.Add('<BR><BR>');
  NewText.Body.Add('<BR><BR>');
  NewText.Body.Add('<BR><BR>');
  For x := 0 to memomensagem.Lines.Count do
   NewText.Body.Add('<DIV><STRONG><FONT face="Times New Roman">
+memomensagem.Lines[x]+'</FONT></STRONG></DIV');
  
  NewText.Body.Add('<BR><BR>');
  NewText.Body.Add('<BR><BR>');
  NewText.Body.Add('</BODY><HTML>');
    // Anexa a imagem ao corpo do email
  NewText := TIdText.Create(msg.MessageParts);
  NewText.ContentType := 'text/plain';
  NewAttach := TIdAttachment.Create(msg.MessageParts,'c:\caminhoimagem\acao3
jpg');
  NewAttach.ExtraHeaders.Values['Content-ID'] := 'imagemfundo'; ;
 
  Msg.From.Text := editemail.Text; // e-mail de origem
  Msg.From.Name := editde.Text; //nome que aparecerá no provedor quando o
destinatário verificar o e-mail
  Msg.Recipients.EMailAddresses := editdestino.Text; //e-mail destinatário
  Msg.Subject:= editassunto.Text; // assunto do e-mail
  Msg.CCList.EMailAddresses :=  editcopias.Text;// endereço que também
receberá o e-mail;
  Msg.ReceiptRecipient.Text := msg.From.Text;  // auto resposta
  Idsmtp1.Host := 'smtp.'+ editprovedor.Text + '.com.BR;// seu provedor ex:
terra
  Idsmtp1.Port := 25; //porta padrão para o envio de e-mail (SMTP) - Não
mudar
  Idsmtp1.Username := editusername.Text;// Seu username
  Idsmtp1.Password := editsenha.Text;//Sua senha
  //Prioridade da mensagem
  Case comboprioridade.ItemIndex of
    0: msg.Priority := mpHigh;  // Alta
    1: msg.Priority := mpNormal; //Normal
    2: msg.Priority := mpLow; //Baixa
  End;
 
   //Envio de arquivos anexos
 
  For xAnexo := 0 to ListBoxanexos.Items.Count -1 do
   Tidattachment.Create(msg.MessageParts , Tfilename(listboxanexos.Items
Strings [xanexo]));
 
  Idsmtp1.Connect;
  Try
    Idsmtp1.Send(msg);
  Finally
    Idsmtp1.Disconnect;
  End;
 
Com essa rotina esta tudo de acordo com o que eu quero, se alguem puder
analisar e melhorar a funcao, pois alem de colocar o caminho da imagem, aqui
comigo somente funcionou qdo eu coloquei tambem em anexo a imagem, se eu
tirar qualquer uma das 2 ocorre erro qdo recebo a mensagem.
Agradeco a todos os que me orientaram nessa jornada
 
-------------------------------------------------------------------------
Francisco Carlos de Andrade
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]

[As partes desta mensagem que não continham texto foram removidas]





-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a