10-19-2021, 12:05 AM
This works for me:
idmsg := TIdMessage.Create;
idmsg.Date := Now;
idmsg.FromList.EMailAddresses := FEmailReply;
idmsg.Subject := SubJect;
idmsg.Recipients.EMailAddresses := ReceiveAddr;
idmsg.ContentType := 'multipart/mixed';
IdDesc := TIdText.Create(idmsg.MessageParts,slInfo);
IdDesc.ContentType := 'text/html';
loAttachments := TObjectStringsList.Create;
for j := 0 to slFiles.Count-1 do
begin
idAttach := TIdAttachmentFile.Create(idmsg.MessageParts,slFiles[j]);
loAttachments.AddObject(slFiles[j],idAttach);
end;
if( Assigned(psInsideFiles))then
for j:=0 to psInsideFiles.Count-1 do
begin
idAttach := TIdAttachmentFile.Create(idmsg.MessageParts,psInsideFiles[j]);
loAttachments.AddObject(psInsideFiles[j],idAttach);
idAttach.ContentType := GetMIMETypeFromFile(psInsideFiles[j]);
loStringObj := TStringObj( psInsideFiles.Objects[j] );
idAttach.ContentDisposition := 'inline';
idAttach.ContentID := loStringObj.TheString;
end;
idmsg := TIdMessage.Create;
idmsg.Date := Now;
idmsg.FromList.EMailAddresses := FEmailReply;
idmsg.Subject := SubJect;
idmsg.Recipients.EMailAddresses := ReceiveAddr;
idmsg.ContentType := 'multipart/mixed';
IdDesc := TIdText.Create(idmsg.MessageParts,slInfo);
IdDesc.ContentType := 'text/html';
loAttachments := TObjectStringsList.Create;
for j := 0 to slFiles.Count-1 do
begin
idAttach := TIdAttachmentFile.Create(idmsg.MessageParts,slFiles[j]);
loAttachments.AddObject(slFiles[j],idAttach);
end;
if( Assigned(psInsideFiles))then
for j:=0 to psInsideFiles.Count-1 do
begin
idAttach := TIdAttachmentFile.Create(idmsg.MessageParts,psInsideFiles[j]);
loAttachments.AddObject(psInsideFiles[j],idAttach);
idAttach.ContentType := GetMIMETypeFromFile(psInsideFiles[j]);
loStringObj := TStringObj( psInsideFiles.Objects[j] );
idAttach.ContentDisposition := 'inline';
idAttach.ContentID := loStringObj.TheString;
end;