Emails com Mapi
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?
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
Curtidas 0
Respostas
Leonardo Bertolini
10/09/2010
Posta seu código ai pra gente ajudar.... flw
GOSTEI 0
Timuio
10/09/2010
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... GOSTEI 0
Timuio
10/09/2010
[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];
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];
GOSTEI 0
Timuio
10/09/2010
pode defirnir Concluido este topico
GOSTEI 0