Anexando arquivo no outlook

02/03/2010

1

Como faço no delphi para anexar um arquivo, anexar e envia-lo por e-mail.   Obrigada.    
Responder

Posts

02/03/2010

Wilson Junior

Olhe este link http://www.activedelphi.com.br/forum/viewtopic.php?t=49421&highlight=

Espero ter colaborado.
Responder

02/03/2010

Simone

Não consegui entender como se faz a chamada da função. Os parâmetros a serem passados. O ultimo parâmetro, como devo passar? Não é uma string, dando o caminho e o nome do arquivo a ser anexado? Como funciona?  
Responder

02/03/2010

Wilson Junior

TStringListé uma lista de strings.

Exemplo:
var
  stlAnexo: TStringList;
begin
  stlAnexo := TStringList.Create;
  try
    stlAnexo.Add( 'C:\Arquivo1.txt' );
    stlAnexo.Add( 'C:\Arquivo2.txt' );
    stlAnexo.Add( 'C:\Arquivo3.txt' );

    { Sendo assim, irá anexar todos os arquivos incluídos na lista }
    EnviarEmail('email@dominio.com', 'Meu assunto'; 'Corpo do e-mail'; stlAnexo );
  finally
    FreeAndNil( stlAnexo );
  end;
end;


Espero ter colaborado.
Responder

02/03/2010

Wilson Junior

Ah, caso não tenha nenhum arquivo para ser anexado, pode ser chamada a funação assim:

EnviarEmail('email@dominio.com', 'Meu assunto', 'Corpo do e-mail');
Responder

03/03/2010

Simone

O delphi que utilizo é o delphi 5.0. Estou com problemas já no inicio do código, quando tem que definir o tipo. Existe alguma unit que tenho que adicionar? O código contém algum erro de sintaxe também? Fico aguardando respostas. Obrigada.   function  EnviarEmail(Endereco: string; Assunto: string = ''; Texto: string = ''; stlAnexo: TStringList = nil): Boolean;
type
  TAttachAccessArray = array [0..0] of TMapiFileDesc;// erro aqui
  PAttachAccessArray = ^TAttachAccessArray; // erro aqui
var
  MapiMessage: TMapiMessage;
  MError: Cardinal;
  Sender: TMapiRecipDesc; // erro aqui
  PRecip, Recipients: PMapiRecipDesc;
  Attachments: PAttachAccessArray;
  x: integer;
Responder

03/03/2010

Wilson Junior

Coloque no uses Mapi.
Responder

04/03/2010

Alison Bissoli

Nos componentes do projeto JEDI há o JVMail, utilizo ele para esta tarefa e é bem simples.
Responder

04/03/2010

Alison Bissoli

Componente: JvMail
Esse componente é interligado às contas de email configuradas no painel de controle.
Download: http://sourceforge.net/projects/jvcl/files/JVCL%203/JVCL%203.37/JVCL337CompleteJCL1105-Build3400.zip/download
Instale em uma maquina de testes, porque são muitos os componentes instalados junto e pode pesar muito a sua máquina no carregamento do delphi.
jvemail: TJvMail;
jvemail.Attachment.Clear;
jvemail.Attachment.Add(nomefile); //adicionando anexo
jvemail.Subject := 'MECMINAS - Cotação'; // assunto
jvemail.Recipient.Clear;
jvemail.Recipient.AddRecipient(endereço do email,nome do contato); // destinatario
jvemail.body.clear;
jvemail.Body.Text := corpo do email;
jvemail.SendMail(true); // se me lembro bem, o true é se irá mostrar ao usuário a mensagem antes de ser enviada "TRUE" ou será enviada diretamente "FALSE"
Responder

04/03/2010

Alison Bissoli

Componente: JvMail
Esse componente é interligado às contas de email configuradas no painel de controle.
Download: http://sourceforge.net/projects/jvcl/files/JVCL%203/JVCL%203.37/JVCL337CompleteJCL1105-Build3400.zip/download
Instale em uma maquina de testes, porque são muitos os componentes instalados junto e pode pesar muito a sua máquina no carregamento do delphi.
jvemail: TJvMail;
============================================================
jvemail.Attachment.Clear;
jvemail.Attachment.Add(nomefile); //adicionando anexo
jvemail.Subject := 'COTAÇÃO'; // assunto
jvemail.Recipient.Clear;
jvemail.Recipient.AddRecipient(endereço do email,nome do contato); // destinatario
jvemail.body.clear;
jvemail.Body.Text := corpo do email;
jvemail.SendMail(true); // se me lembro bem, o true é se irá mostrar ao usuário a mensagem antes de ser enviada "TRUE" ou será enviada diretamente "FALSE"
============================================================
Responder

04/03/2010

Thiago Santana

É isso aí mesmo que o Álisson postou... Se vc utilizar o JvMail será bem mais simples de anexar um arquivo no outllok pelo delphi.. É só seguir o passo a passo do Álisson!
Responder