Fórum Emails com Mapi #386072

10/09/2010

0

Boa Tarde 
eu tenho uma rotina que envia Email atraves de MAPI utilizando o Email padrão do windows
só que nesta rotina eu só consigo adicionar um destinatário para o Email
gostaria de uma maneira que pudesse encaminhar para varias pessoas o mesmo conteúdo.
Alguem teria um exemplo para demonstrar?
Timuio

Timuio

Responder

Posts

10/09/2010

Leonardo Bertolini


 
Posta seu código ai pra gente ajudar.... flw
Responder

Gostei + 0

10/09/2010

Timuio

function EnviarEmail(EndMail: string; Assunto: string; Texto: string; Anexo: TStringList );type  TAttachAccessArray = array [0..0] of TMapiFileDesc;  PAttachAccessArray = ^TAttachAccessArray;var  Message: TMapiMessage;  MError: Cardinal;  Sender: TMapiRecipDesc;  PRecip, Recipients: PMapiRecipDesc;  Attachments: PAttachAccessArray;  x: Integer;  begin      if  not VerificaEmailValido( Trim( EndMail ) ) then    begin    ShowMessage('Endereço de e-mail inválido.');    Exit;    end;
  Message.nRecipCount := 1;  GetMem( Recipients, Message.nRecipCount * sizeof(TMapiRecipDesc) );

    with Message do begin      ulReserved := 0;      lpszSubject := PChar( Assunto );      lpszNoteText := PChar( Texto );      lpszMessageType := nil;      lpszDateReceived := nil;      lpszConversationID := nil;      flFlags := 0;      Sender.ulReserved := 0;      Sender.ulRecipClass := MAPI_ORIG;      Sender.lpszName := PChar( '' );      Sender.lpszAddress := PChar( '' );      Sender.ulEIDSize := 0;      Sender.lpEntryID := nil;      lpOriginator := @Sender;  
        PRecip := Recipients;        PRecip^.ulReserved := 0;        PRecip^.ulRecipClass := MAPI_TO;        PRecip^.lpszName := PChar( EndMail );        PRecip^.lpszAddress := StrNew( PChar('SMTP:' + EndMail ) );        PRecip^.ulEIDSize := 0;        PRecip^.lpEntryID := nil;        Inc( PRecip );        lpRecips := Recipients;
    //anexos foram cortados pois já funciona perfeitamente...  
Responder

Gostei + 0

17/09/2010

Timuio

[code]//Declare um array de 
aRecipiente: Array of TMapiRecipDesc;
//e um contador pra verificar quantos emails vc está adicioando

Message.nRecipCount := Contador;  SetLength( aRecipiente, Contador );  



    for i := 0 to Contador - 1 do begin aRecipiente[i].ulReserved   := 0; aRecipiente[i].lpszName     := PChar( aEndereco[i] ); aRecipiente[i].lpszAddress  := StrNew( PChar('SMTP:' + aEndereco[i] ) ); aRecipiente[i].ulEIDSize    := 0; aRecipiente[i].lpEntryID    := nil; aRecipiente[i].ulRecipClass := MAPI_TO;  end;
//passa a posição do array com todos valoresMessage.lpRecips := @aRecipiente[0];
Responder

Gostei + 0

17/09/2010

Timuio

pode defirnir Concluido este topico
Responder

Gostei + 0

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

Aceitar