Как быть, если вы – Windows-пользователь, «злые админы» вашей локальной сети установили ограничение на максимальный размер письма, а вам надо отправить раз этак в 50 больше?
Тривиальная задача с тривиальным решением - упаковать отправляемое, разбить на куски допустимого размера, и отправлять по частям. Всё прекрасно, кроме кучи возни. А между тем…
В штатной подсистеме командной строки Windows есть очень полезная команда
FOR (в любой из описанных ранее консолей, если вы не меняли командной оболочки, она расскажет сама о себе в ответ на традиционный запрос
FOR /?). А еще по блату скажу, что есть очень замечательная крохотная программка также командной строки –
blat.
Этих двух штуковин более чем достаточно, чтобы одной командой «забомбить» адресата файлами.
Для начала: после скачивания blat и её «установки» (в какой-либо каталог из перечня в переменной окружения PATH), следует программу инициализировать. По минимуму ей надо указать протокол (POP3/SMTP/NNTP), IP-адрес вашего почтового сервера, ваш собственный почтовый адрес и, например, имя профиля для данной комбинации. Шаблон команды инициализации:
blat –install протокол ip_адрес_сервера мой_почтовый_адрес имя_профиля
На этом - всё, blat готов «к труду и обороне».
Теперь предположим, что почтовый сервер «выпускает» из внутренней сети письма размером не более 1 MB, а вам надо отправить 50+ MB фотографий, и сделать это минимальной кровью, несколькими движениями, а не мучительной «мышиной вознёй».
Сохраните следующее в виде bat-файла, например, с именем send_all.bat (естественно, поместите этот файл в какой-либо каталог из перечня, указанного в переменной окружения PATH):
for %%F in (*.%1) do blat %2 -to %3 -subject %4 -body %5 -r -attach %%~nxF
Превратите ваши файлы в какой-либо многотомный архив, например, - rar. Откройте в каталоге с этим архивом консоль (или перейдите в этот каталог), и наберите команду:
send_all rar профиль адрес_получателя "заголовок всех писем" "тело всех писем"
Разбирать здесь особо нечего – команда for для каждого файла с расширением rar текущего каталога вызовет blat c указанными вами параметрами и именем файла, который требуется «приаттачить».
Вот так.
И не надо искать какие-то сложные GUI-программы.
Кстати, по умолчанию blat хранит информацию о профилях (а их может быть несколько, конечно) в ключе реестра HKEY_LOCAL_MACHINE\SOFTWARE\Public Domain\Blat (можно указать программе, чтобы для каждого пользователя были собственные профили). Если этот ключ «выкусить» редактором реестра и сохранить, например, на флэшке, blat можно сделать «переносимым».
Этот скрипт я набросал сразу, как только отыскал blat, и с тех пор он меня регулярно выручает.
Пользуйтесь на здоровье.
Digital Twin для мережевої інфраструктури: технологія завтрашнього дня, що доступна вже сьогодні
Хм. А зачем передавать почтой, если там размер отправки сильно вырастает за счёт mime?
Почему не файлообменники?
А кто его знает - человеку надо почтой, и всё.
Есть задача - есть решение.
Може бути так, що легше і швидше забрати пошту з ящика, ніж довго качати з файлообмінників.
Андрей, говорят, что blat можно использовать для определения динамического IP удаленного ПК. Что нужно сделать? на ПК , чтобы с него на мой e-mail отсылались письма по расписанию ex:1раз в час\2\5часов. И совсем отлично было бы , чтобы в письме был ipconfig с IP этого ПК. Хотя и так в каждом письме можно найти IP ПК с которого он был отправлен. И ещё вопрос: чем отличается bat от скрипта. Оба явл-ся текстовыми файлами с набором команд, вроде бы...