Небольшое дополнение к скрипту отправки картинок на Imgur, закрывающее несколько моментов.
1. Считается, что в папке $UploadFolder что-то есть. Но ведь это не всегда так, от ошибок никто не застрахован. Потому проверяем эту папку на наличие там чего-либо. Если нет ничего - просто завершаем работу:


2. После того, как скрипт работу завершит, уже загруженные файлы стоило бы удалить, чтоб не мешались. Для этого последний оператор $smtp.send() оборачиваем в следующую конструкцию:

Для чего такие сложности? Из-за того, что по завершении отправки среда Powershell не прекратит ссылаться на наши файлы, и эту связь нужно сначала разорвать. Отдельно для каждого вложения и затем для всего письма в целом. После того, как связи разорваны, можно удалить все отправленные файлы. Что и делается в блоке finally. Блок же catch нужен для того, чтобы отследить любую ошибку во время передачи файлов, перехватить ее, опять таки, разорвать связи с файлами и завершить скрипт, не удаляя сами файлы.

3. Предположим, что в папке $UploadFolder пользователь хранит не только те файлы, которые предназначены к отправке (всякое бывает, помним?). Музыка, тексты, еще что-то. Выберем из них только те, что можно отправлять. Это JPG,GIF, PNG.


Окончательный вариант скрипта после всех этих изменений - ниже.