NetEmail._SaveFile Procedure (*string writeString, string fileName, long dataLen=0)
In other words, before the parent call, make your own call to the Parent using a different second parameter (then return before the generated parent call)
For example
thisEmail._SaveFile Procedure (*string writeString, string fileName, long dataLen=0)
somename string(255)
code
somename = clip(fileName) random(100000,999999) ! clearly nonsense, because of the extension
parent._SaveFile (writeString,somename ,dataLen) ! generated parent call
return
parent._SaveFile (writeString,fileName,dataLen) ! generated parent call
Setting of Somename is a bit more complicated because you need to remove the extension part of the name, change the name, put the extension back. But you get the idea.