> http://www.40tude.com/dialog/wiki/index.php/ScriptDateTimeInsert
> http://www.40tude.com/dialog/wiki/index.php/RemoveHeaders
>
> Is it possible to combine these two?
Yes, you have to merge them. It is relatively easy in your case, but since
it's still easier for me to do it than to explain it, I attached it below.
untested & HTH
program OnBeforeSendingMessage;
//
// Date: 2004/11/16
//
const
// ----------------------------------------------------
// Configuration settings
// ----------------------------------------------------
// set the header(s) you want to remove here, e.g. 'User-Agent: ,X-Scoring: '
Remove_Headers = 'X-Scoring: ,X-Hamster-Info: ';
// remove header(s) from emails and/or postings
// set 'true' or 'false'
RemoveFromEmails = true;
RemoveFromNews = true;
// ----------------------------------------------------
// End of configuration settings
// ----------------------------------------------------
// --------------------------------------------------------------- //
// ---- No user maintainable parts below this line -------------- //
// --------------------------------------------------------------- //
procedure RemoveHeaders ( Message : TStringlist;
IsEmail : boolean
);
var i : integer;
k : integer;
s : string;
CommaPos : integer;
DelHeader : TStringlist;
RemoveH : String;
begin
RemoveH := Remove_Headers;
i := 0;
if ((IsEmail=true) and (RemoveFromEmails=true)) or
((IsEmail=false) and (RemoveFromNews=true)) then begin
If ( RemoveH <> '' ) then begin
try
DelHeader := TStringlist.Create;
if ansipos ( ',', RemoveH) = 0 then begin
DelHeader.Add ( LowerCase ( TrimLeft( RemoveH )));
end // if
else begin
CommaPos := 0;
for k := 1 to length ( RemoveH ) do begin
If RemoveH[k] = ',' then begin
DelHeader.Add ( LowerCase ( TrimLeft (copy ( RemoveH, CommaPos + 1, k - ( CommaPos + 1 )))));
CommaPos := k;
end; // if
if k = length ( RemoveH ) then
DelHeader.Add ( LowerCase ( TrimLeft (copy ( RemoveH, CommaPos + 1, k - CommaPos ))));
end; // for
end; // else
s:=Message.text;
while (Message.Strings[i]<>'') do begin
k := 0;
while k <= ( DelHeader.Count - 1 ) do begin
if pos( DelHeader[k], LowerCase ( Message.Strings[i] )) = 1 then begin
delete ( s, pos(DelHeader[k], LowerCase (s) ), length ( Message.Strings[i] ) + 2 );
i := i - 1;
k := DelHeader.Count - 1;
message.text := s;
end; // if
k := k + 1;
end; // while
i := i + 1;
end; //while
message.text:=s;
finally
DelHeader.Free;
end; // try - finally
end; // if
end; // if
end; // RemoveHeaders
function OnBeforeSendingMessage(var Message: TStringlist; Servername: string; IsEmail: boolean):boolean;
var s:string;
i,j:integer;
begin
RemoveHeaders(Message,IsEmail);
result:=true;
//check the last 4 lines for %datetime% and replace it with the current date time
for i:=message.count-4 to message.count-1 do
begin
if (i<0) then continue;
s:=message.strings[i];
j:=pos('%datetime%',s);
if j>0 then
begin
delete(s,j,length('%datetime%'));
insert(datetimetostr(now),s,j);
message.strings[i]:=s;
break;
end;
end;
end;
begin
end.