Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) duvida de como tratar erro no outlook


danielrgoes

Pergunta

Boa Tarde pessoal

eu tenho o seguinte codigo para enviar email pelo outlook2000

dica dada pelo jhonas aki mesmo

Código:

procedure TFRM_desenho.BitBtn1Click(Sender: TObject);

var

Outlook: OleVariant;

vMailItem: variant;

begin

try

Outlook := GetActiveOleObject('Outlook.Application');

except

Outlook := CreateOleObject('Outlook.Application');

end;

vMailItem := Outlook.CreateItem(olMailItem);

vMailItem.Recipients.Add('e-imal@jccwww.com.br'); // 1o destinatário

vMailItem.Subject := 'teste de email'; // assunto

vMailItem.Body := 'Este é um teste'; // Corpo do e-mail

vMailItem.Attachments.Add('C:\temp\arq.txt'); // arquivo anexado

vMailItem.Send;

VarClear(Outlook);

end;

ele funciona muito bem

mais eu gostaria de tratar dois erros

um dele seria se o outlook não estiver aberto avisar que não esta

e outro se não houver conexao

muito obrigado

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
ele funciona muito bem

mais eu gostaria de tratar dois erros

um dele seria se o outlook não estiver aberto avisar que não esta

e outro se não houver conexao

1 - O outlook não precisa estar aberto apenas instalado

2 - Use o componente NMHTTP do delphi

procedure TFRM_desenho.BitBtn1Click(Sender: TObject);
var
   Outlook: OleVariant;
   vMailItem: variant;
begin
   if NMHTTP1.FConnected then
      begin

         try
            Outlook := GetActiveOleObject('Outlook.Application');
         except
            Outlook := CreateOleObject('Outlook.Application');
         end;
         vMailItem := Outlook.CreateItem(olMailItem);
         vMailItem.Recipients.Add('e-imal@jccwww.com.br'); // 1o destinatário
         vMailItem.Subject := 'teste de email'; // assunto
         vMailItem.Body := 'Este é um teste'; // Corpo do e-mail
         vMailItem.Attachments.Add('C:\temp\arq.txt'); // arquivo anexado
         vMailItem.Send;

         VarClear(Outlook);
      end
   else
      MessageDlg('CONEXÃO INTERNET NÃO DISPONÍVEL! ', mtInformation, [mbOK], 0);
end;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
ele funciona muito bem

mais eu gostaria de tratar dois erros

um dele seria se o outlook não estiver aberto avisar que não esta

e outro se não houver conexao

1 - O outlook não precisa estar aberto apenas instalado

2 - Use o componente NMHTTP do delphi

procedure TFRM_desenho.BitBtn1Click(Sender: TObject);
var
   Outlook: OleVariant;
   vMailItem: variant;
begin
   if NMHTTP1.FConnected then
      begin

         try
            Outlook := GetActiveOleObject('Outlook.Application');
         except
            Outlook := CreateOleObject('Outlook.Application');
         end;
         vMailItem := Outlook.CreateItem(olMailItem);
         vMailItem.Recipients.Add('e-imal@jccwww.com.br'); // 1o destinatário
         vMailItem.Subject := 'teste de email'; // assunto
         vMailItem.Body := 'Este é um teste'; // Corpo do e-mail
         vMailItem.Attachments.Add('C:\temp\arq.txt'); // arquivo anexado
         vMailItem.Send;

         VarClear(Outlook);
      end
   else
      MessageDlg('CONEXÃO INTERNET NÃO DISPONÍVEL! ', mtInformation, [mbOK], 0);
end;
abraço
se o outlook não estiver aberto da o seguinte erro: Project projeto.exe raised exception class EOleSysError with message 'Operação não disponivel'. e deixa eu me retratar o meu outlook aki funciona como email interno não existe conexao com a internet com ele e sim um servidor de email aonde no nome de endereço eu passo o login do usuario
ele funciona muito bem mais eu gostaria de tratar dois erros um dele seria se o outlook não estiver aberto avisar que não esta e outro se não houver conexao
1 - O outlook não precisa estar aberto apenas instalado 2 - Use o componente NMHTTP do delphi
procedure TFRM_desenho.BitBtn1Click(Sender: TObject);
var
   Outlook: OleVariant;
   vMailItem: variant;
begin
   if NMHTTP1.FConnected then
      begin

         try
            Outlook := GetActiveOleObject('Outlook.Application');
         except
            Outlook := CreateOleObject('Outlook.Application');
         end;
         vMailItem := Outlook.CreateItem(olMailItem);
         vMailItem.Recipients.Add('e-imal@jccwww.com.br'); // 1o destinatário
         vMailItem.Subject := 'teste de email'; // assunto
         vMailItem.Body := 'Este é um teste'; // Corpo do e-mail
         vMailItem.Attachments.Add('C:\temp\arq.txt'); // arquivo anexado
         vMailItem.Send;

         VarClear(Outlook);
      end
   else
      MessageDlg('CONEXÃO INTERNET NÃO DISPONÍVEL! ', mtInformation, [mbOK], 0);
end;

abraço

se o outlook não estiver aberto da o seguinte erro:

Project projeto.exe raised exception class EOleSysError with message 'Operação não disponivel'.

e deixa eu me retratar o meu outlook aki funciona como email interno não existe conexao com a internet com ele e sim um servidor de email aonde no nome de endereço eu passo o login do usuario

Com certeza não precisa mesmo estar aberto

agora só estou com o problema com a conexao

quero eliminar o erro se o servidor não estiver acessivel

Link para o comentário
Compartilhar em outros sites

  • 0
se o outlook não estiver aberto da o seguinte erro:

Project projeto.exe raised exception class EOleSysError with message 'Operação não disponivel'.

Esse erro não é do outlook .... coloque um componente OLE no form ( Paleta System ) pode deixar ele invisivel

Veja se o componente NMHTTP identifica a sua conexão de internet, mesmo sendo através de um servidor, caso não , eu vejo outra solução para voce.

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
se o outlook não estiver aberto da o seguinte erro:

Project projeto.exe raised exception class EOleSysError with message 'Operação não disponivel'.

Esse erro não é do outlook .... coloque um componente OLE no form ( Paleta System ) pode deixar ele invisivel

Veja se o componente NMHTTP identifica a sua conexão de internet, mesmo sendo através de um servidor, caso não , eu vejo outra solução para voce.

abraço

Jhonas Muito obrigado mesmo pela ajuda

não achei o componente NMHTTP uso o delphi 2007

mais já consegui fazer

coloquei um try no send e no except tratei se gera a except manda uma mensagem de erro sem conexao

valeu mesmo pela força

abraços

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...