Anexando arquivo no outlook
Como faço no delphi para anexar um arquivo, anexar e envia-lo por e-mail.
Obrigada.
Simone
Curtidas 0
Respostas
Wilson Junior
02/03/2010
Olhe este link http://www.activedelphi.com.br/forum/viewtopic.php?t=49421&highlight=
Espero ter colaborado.
Espero ter colaborado.
GOSTEI 0
Simone
02/03/2010
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?
GOSTEI 0
Wilson Junior
02/03/2010
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.
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.
GOSTEI 0
Wilson Junior
02/03/2010
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');
EnviarEmail('email@dominio.com', 'Meu assunto', 'Corpo do e-mail');
GOSTEI 0
Simone
02/03/2010
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;
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;
GOSTEI 0
Wilson Junior
02/03/2010
Coloque no uses Mapi.
GOSTEI 0
Alison Bissoli
02/03/2010
Nos componentes do projeto JEDI há o JVMail, utilizo ele para esta tarefa e é bem simples.
GOSTEI 0
Alison Bissoli
02/03/2010
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"
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"
GOSTEI 0
Alison Bissoli
02/03/2010
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"
============================================================
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"
============================================================
GOSTEI 0
Thiago Santana
02/03/2010
É 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!
GOSTEI 0