Gracias por la respuesta, Rompe.
He cambiado este bloque en la función:
Código Delphi
[-] if Mail.Values['to'] <> '' then begin
Receip.ulReserved := 0;
Receip.ulRecipClass := MAPI_TO;
Receip.lpszName := StrNew(PChar(Mail.Values['to']));
Receip.lpszAddress := StrNew(PChar('SMTP:' + Mail.Values['to']));
Receip.ulEIDSize := 0;
MapiMessage.nRecipCount := 1;
MapiMessage.lpRecips := @Receip;
end;
Por este otro:
Código Delphi
[-] if Mail.Values['bcc'] <> '' then begin
Receip.ulReserved := 0;
Receip.ulRecipClass := MAPI_BCC;
Receip.lpszName := StrNew(PChar(Mail.Values['bcc']));
Receip.lpszAddress := StrNew(PChar('SMTP:' + Mail.Values['bcc']));
Receip.ulEIDSize := 0;
MapiMessage.nRecipCount := 1;
MapiMessage.lpRecips := @Receip;
end;
Las direcciones a las que quiero enviar y la llamada a la función las genero con este código:
Código Delphi
[-] maillist := TStringList.Create;
with DM.QrMailSelect do begin
First;
while not eof do begin
if Trim(DM.QrMailSelectFnE_mail.Value) <> ''
then maillist.values['bcc'] := maillist.values['bcc'] + ';' +
DM.QrMailSelectFnE_mail.Value;
Next;
end;
maillist.values['bcc'] := StringReplace(maillist.values['bcc'], ';', '', []);
end;
try
maillist.values['subject'] := 'Document sending.';
sendMail(Application.Handle, maillist);
finally
maillist.Free;
end;
El resultado es un mensaje en el que no aparecen destinatarios ni en 'Para:' ni en 'C.c.:' y, como cabría esperar, al enviarlo no se manda a ningún sitio.
¿Qué se me escapa?
Gracias y saludos.