djfarinha Posted May 11, 2012 Report Share Posted May 11, 2012 Bom dia galera, estou com um problema e queria a ajuda de vocês.É o seguinte estou usando uma função para enviar email pelo outlook no delphi 2010 :try Outlook := GetActiveOleObject('Outlook.Application'); except Outlook := CreateOleObject('Outlook.Application'); end; vMailItem := Outlook.CreateItem(indiceMail); vMailItem.Recipients.add( 'rafaelsilva46@gmail.com'); // 1o destinatário vMailItem.Subject := 'Assunto do e-mail'; vMailItem.Body := 'Corpo do e-mail'; vMailItem.Attachments.Add('C:\arquivo.rar'); vMailItem.GetInspector.Activate; vMailItem.Display(True); VarClear(Outlook); exit;só que está função só funciona se eu excluir a linha "vMailItem.Recipients.add( 'rafaelsilva46@gmail.com'); // 1o destinatário"se eu deixar está linha ele não abre a janela de mensagem do outlook Quote Link to comment Share on other sites More sharing options...
0 Jhonas Posted May 11, 2012 Report Share Posted May 11, 2012 vejahttp://scriptbrasil.com.br/forum/index.php?showtopic=133589abraço Quote Link to comment Share on other sites More sharing options...
0 djfarinha Posted May 11, 2012 Author Report Share Posted May 11, 2012 Obrigado Jhonas, eu já consegui resolver, mas para não perder a oportunidade você saberia me dizer como colocar umarquivo html como mensagem ? Quote Link to comment Share on other sites More sharing options...
0 Jhonas Posted May 11, 2012 Report Share Posted May 11, 2012 voce que fazer uma copia do arquivo html e enviar ? vMailItem.Attachments.Add('C:\arquivo.rar');ou código para envio de html: Var newText : TIdText; sPath : String; newAttach : TIdAttachment; imgID1, imgName1 : String; imgID2, imgName2 : String; begin // Endereço e ID das Imagens imgName1 := ExtractFilePath(Application.ExeName) + 'imagem1.jpg'; imgID1 := CreateUniqueID; imgName2 := ExtractFilePath(Application.ExeName) + 'imagem2.jpg'; imgID2 := CreateUniqueID; // Configura o Servidor IdSMTP.Username := 'nome do usuário'; IdSMTP.Password := 'senha do usuário'; IdSMTP.Host := 'host smtp'; // Configura o Remetente da Mensagem IdMessage.Clear; IdMessage.Subject := 'Teste de Envio de Mensagem em formato HTML, com imagens anexadas'; IdMessage.From.Address := 'remetente'; IdMessage.From.Name := Remetene; // configura os destinatários IdMessage.Recipients.Clear; IdMessage.Recipients.Add; IdMessage.Recipients.Items[IdMessage.Recipients.Count-1].Address := 'para@brasil.com.br'; IdMessage.Recipients.Items[IdMessage.Recipients.Count-1].Name := 'nome'; // Adiciona o HTML ao corpo da mensagem newText := TIdText.Create(IdMessage.MessageParts,nil); newText.ContentType := 'text/html'; newText.Body.Add('<HTML><BODY>'); newText.Body.Add('<H2>Teste de Envio de Email HTML Embeded</H2>'); newText.Body.Add('<IMG>'); // Troca imagens pelo ID unico newText.Body.Add('<IMG>'); // Troca imagens pelo ID unico newText.Body.Add('</BODY><HTML>'); // Adiciona uma parte texto ao corpo newText := TIdText.Create(IdMessage.MessageParts,nil); newText.ContentType := 'text/plain'; newText.Body.Add('Este email só será visualizado em padrão HTML'); // Anexa a primeira imagem newAttach := TIdAttachment.Create(IdMessage.MessageParts,imgName1); newAttach.ContentType := 'image/jpeg'; newAttach.ContentDisposition := 'inline'; newAttach.ExtraHeaders.Values['Content-ID'] := '<'+imgId1+'>'; // Anexa a segunda imagem newAttach := TIdAttachment.Create(IdMessage.MessageParts,imgName2); newAttach.ContentType := 'image/jpeg'; newAttach.ContentDisposition := 'inline'; newAttach.ExtraHeaders.Values['Content-ID'] := '<'+imgId2+'>'; // Envia IdSMTP.Connect; Try if IdSMTP.Connected then Begin IdSMTP.Send(IdMessage); End Finally IdSMTP.Disconnect; End; ShowMessage('Email Enviado.');outro exemplohttp://massuda.blogspot.com.br/2007/01/del...em-formato.htmlabraço Quote Link to comment Share on other sites More sharing options...
Question
djfarinha
Bom dia galera, estou com um problema e queria a ajuda de vocês.
É o seguinte estou usando uma função para enviar email pelo outlook
no delphi 2010 :
só que está função só funciona se eu excluir a linha "vMailItem.Recipients.add( 'rafaelsilva46@gmail.com'); // 1o destinatário"
se eu deixar está linha ele não abre a janela de mensagem do outlook
Link to comment
Share on other sites
3 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.