I am playing with email attachments from local computer and it works fine when it is used on test environment as there exist only one app server.
When it is used on production environment where exist two app servers and load balancer in front of them, attachment is uploaded only on one server (which is current in the moment of the upload) and some temporary error is thrown:
Unable to finalize storage of resource as the file has not been uploaded...
So, until we start delivery execution load balancer can switch user to another server where file does not exist and brake it.
Is there a "easy & nice" way to overcome this without uploading files with workflows, etc... ?
Easy answer is to just mount resource dirs from a network share, which you should be doing anyway for workflow file uploads etc.
Another option is to list both app servers as mta child's in their instance confs, which logically should cause the first to publish attachments to the second and vice-versa.
Finally, your load balancer should be in active/passive mode, with all traffic going to the primary until it dies. There are other issues with active/active, e.g. preventing users from reliably using unconditional halt on workflows.