Ir para conteúdo

POWERED BY:

Arquivado

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

Tais Regina

Chamar Outlook pelo Delphi

Recommended Posts

Estou desenvolvendo uma aplicação na qual preciso abrir a janela de envio de mensagem do outlook(Uso Microsoft Outlook 2010, Windows Seven e Delphi7).

Tentei chamar com o ShellExecute, abriu belezinha o outlook tudo legal, com dados carregados e tudo, mas minha mensagem precisa ser formata com tabela e tal, pensei mandar pro outlook a mensagem em html, não deu certo, pensei em anexar um arquivo html, mas fiquei sabendo que não é possivel.

Procurei na internet e achei e achei um código que chama o outlook com o OLEObject, e passa um parametro pra anexar arquivos, porem só abre a janela de nova mensagem se o outlook ja estiver aberto, e ainda por cima o email já é enviado, sem nem abrir a janela.

 

Deixo aqui o codigo:

  
 try
  Outlook := GetActiveOleObject('Outlook.Application') ;
 except
  Outlook := CreateOleObject('Outlook.Application') ;
 end;
   vMailItem := Outlook.CreateItem(olMailItem);
   vMailItem.Recipients.Add('tais_cpd@bredas.com.br'); // 1o destinatário
   vMailItem.Subject := 'Solicitação de Assistencia'; // assunto
   vMailItem.Body := mensagem;// Corpo do e-mail
   vMailItem.Attachments.Add('c:\assistencia.html'); //Arquivo anexado
   vMailItem.send;
   VarClear(Outlook);

 

 

Se alguém puder me ajudar de alguma forma...já estou a 3 dias nisso.. :/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, não tenho domínio nenhum de objetos OLE, talvez se fizer este ajuste:

  try
  Outlook := GetActiveOleObject('Outlook.Application') ;
 except
  Outlook := CreateOleObject('Outlook.Application') ;
 end;
   vMailItem := Outlook.CreateItem(olMailItem);
   vMailItem.Recipients.Add('tais_cpd@bredas.com.br'); // 1o destinatário
   vMailItem.Subject := 'Solicitação de Assistencia'; // assunto
   vMailItem.Body := mensagem;// Corpo do e-mail
   vMailItem.Attachments.Add('c:\assistencia.html'); //Arquivo anexado
//    vMailItem.send;
//  vMailItem.Show;  <--
   VarClear(Outlook);

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.