В этом случае я не хочу, чтобы в итоге возникла ситуация, когда одновременные пользователи загружают файлы во временную область и перезаписывают друг друга.
Хороший способ избежать этого - сгенерировать случайный ключ перед началом процесса загрузки и поставить перед каждым загруженным файлом префикс этого случайного ключа.
Когда пришло время отправить электронное письмо, вы получаете все файлы с этим случайным ключом.
Вы также можете создать временный каталог с именем случайного ключа и сохранить все файлы там.
Таким образом, вы избегаете коллизий между пользователями и даже между несколькими процессами загрузки от одного и того же пользователя.