PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Email Delphi 7 #398810

07/04/2011

0

Bom dia.
Meu cliente trocou em algumas máquinas o XP pelo W7 e com isto minha rotina que enviava email (Delphi 6) parou de funcionar.
Pesquisei na internet e encontrei a solução abaixo, que agora funciona no W7 mas não funciona no XP onde é usado o Outlook Express.
Quando tento executar recebo a mensagem "Operação não disponível".
Se alguém puder ajudar, desde já agradeço.


unit email;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, OleCtnrs, ShellApi;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  const olMailItem = 0;

implementation

uses comobj, olectrls;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
   var
   Outlook: OleVariant;
   vMailItem: variant;
begin
   try
      Outlook:=GetActiveOleObject('Outlook.Application');   <--- O erro ocorre na execução desta linha
   except
      Outlook:=CreateOleObject('Outlook.Application');
   end;

   vMailItem := Outlook.CreateItem(olMailItem);
   vMailItem.Recipients.Add(trim(edit1.text));
   vMailItem.Recipients.Add(trim(edit2.text));
   vMailItem.Subject:='Teste de email';
   vMailItem.Body:='Este é um teste';
   //vMailItem.Attachments.Add('C:\temp\arq.txt'); // arquivo
   vMailItem.Send;
   VarClear(Outlook);
end;

end.

Lineu Saraiva

Lineu Saraiva

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar