I hear where all this is going (have read the back and forth).
Miki, I don't know that there's a satisfactory solution, at least not from a CF perspective. There may be, from a mail SERVER perspective. Let me elaborate.
!) To be clear: no, there is no mechanism in CF that creates a backup of emails sent. The only mechanism to track mails sent is the mailsent.log, which as you know does NOT have the mail body.
I understand your folks are hoping there MAY be something that COULD do this, but there is nothing built-in to CF.
2) And sure, we might propose "well, you could generate the email content in a CFSAVECONTENT and save it off to a DB before passing it into a CFMAIL", but you're making it clear that your people don't want you to do "any code changes", and instead they think there should be SOME solution that will instead automatically save off the mail BEFORE sending. Again, there is no such feature in CF. (I realize that doing a code-based change would be complicated if you send email from many places in your app.)
And since CF's mail mechanism is not based on some 3rd party project or Tomcat library, we can't look to anything else to do it.
3) Someone might think, "couldn't we have something catch the files once added to the spool, to save them off". And perhaps you can, via some 3rd party tool. Just beware that it needs to do the job only when the file is FINISHED being created, so as not to grab it WHILE being created. (For instance, the old directorywatcher event gateway added in CF7 doesn't do a good job in that regard.) Also, you will be fighting the spool mechanism that will be grabbing and sending off emails--perhaps faster than you can first "Save off a copy".
This just seems a bad idea to even try, but maybe you or someone else will think of some other solution that MAY suffice.
4) I would have proposed that you turn your attention to the mail server that CF is sending THROUGH (whatever is in the server field of the CF Admin mail page, or on the SERVER attribute of CFMAIL). It may be possible that THAT would offer an option for IT to save a backup of mails that IT is sending on your behalf. If you told us what kind of server that was, we might help find if it's possible.
But I know you keep saying you can't get access to "the relay", by which I assume you mean "the mail server" (which is "relaying" the email from CF to the destination recipients). If so, fair enough. YOU can't access it. Can ANYONE IN YOUR ORG? Maybe THEY can solve this problem, instead of you.
5) Along those same lines, though, you are wondering about changing to an alternative mail server like mailgun. Well, that won't help with making it more possible for "CF to make a backup", as the mail WILL STILL LEAVE CF. But again it MAY well be that it (or any of many alternative mail server software or services) WOULD be able to make a backup of all email THEY send (on your behalf).
I really think that's where you should be looking: at the MAIL SERVER. Indeed, most mail servers have a mechanism built-in ALREADY to backup mail they cannot deliver, just like CF's undelivr folder. I hear you saying that perhaps you/they can't access that. OK, fair enough. Get a mail server that WILL let you, sure.
And if your people think that's still not the right solution, and they want something done "on the cf server", share these thoughts we have all shared. At least they'll know that you are not alone in struggling to find an alternative (if, again, saving off a copy in code is not an option).
Let us know how it goes.