Как автоматически скачивать файлы с почты

Обновлено: 06.07.2024

Привет, друзья. Сегодня поговорим о форме обратной связи с автоматическим скачиванием файла после отправки данных на почту. Это может пригодится для прайсов, презентаций и других видов файлов, которые вы хотели бы отдать пользователю, после того, как он заполнил форму.

Статья, по просьбе одного из читателей, так что, если у вас есть какие-то вопросы, можете писать в раздел «ваши предложения» или мне в социальные сети. Периодически такие посты «по заказам» появляются на блоге. Кроме того, человек обещал отблагодарить финансово, так что, выгода и вам и мне.

Вернемся к форме. На самом деле нужно давно переписать почти все статьи о контактных формах, которые есть на сайте, так как мне реально стыдно за них. Я обязательно засяду и обновлю всё, как только появится больше времени.

Сейчас, набравшись опыта, кажется, что они настолько «корявы», что многие просто бегут с блога, видя код представленный в тех статья. Спасибо всем, кто остался, буду исправляться и обновлять контент, делая его более актуальным.

Также, стоит отметить что если это, например, не zip-архив то сначала откроется сам файл в браузере, а потом его можно будет скачать.

Контактная форма с автоматическим скачиванием

Итак, давайте перейдем к форме. Исходник, как обычно, в конце статьи.

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

Структура проекта

Форма с автоматическим скачиванием файла

Если вы давно читаете блог, то могли видеть подобную структуру в других формах. Самое интересное находится в папке "js" и "php". Как обычно, в последнее время, для отправки данных я использую PHPMailer, так как с ней удобно работать и она позволяет легко прикрепить файл, в случае необходимости, к письму, как вложение. Но прежде, чем говорить об этом всем, давайте подключим остальные необходимые файлы в наш индексный файл.

Прежде всего, убедитесь, что у вас подключена библиотека jQuery, так как обработчик использует ее, для отправки формы без перезагрузки страницы. После этого подключим сам js файл и, попутно, еще одну библиотеку для маски ввода номер телефона, так как предвижу вопросы, как ее подключить. Все это у меня выглядит так:

Кроме того, давайте сразу инициализируем маску и привяжем к нужному полю. В моем случае это поле с классом "contact-form__input_tel".

Можете вынести в отдельный файл, я же инициализировал маску в конце документа, перед закрывающим тегом "body".

Прежде чем продолжить обратите внимание на папку "file". Именно туда я положил файл, который начнет автоматически загружаться.

Настройка отправки

  • "SENDER" - отправитель;
  • "CATCHER" - получатель.

Обратите внимание, что обе почты должны быть реальными. Если есть проблемы с доставкой на Яндекс-почту, то почитайте эту статью.

Файл "contact-form.php" отвечает за валидацию и отправку данных формы на почту. Скрипт достаточно длинный, поэтому не буду приводить его в статье. Если не планируете добавлять поля, то можете не открывать на редактирование и этот файл, ведь то, ради чего затевалась эта статья, находится в файле "contact-form.js", а именно на 33 строке.

Кстати, если у вас форма со страницей благодарности, то можете просто разместить не ней, перед закрывающим тегом body:

В таком случае через секунду, после загрузки страницы благодарности, автоматически начнется скачивание файла.

Автоматическое копирование вложений из писем в папку


Для автоматического копирования вложений из приходящих в Outlook писем в указанную папку можно воспользоваться правилом, исполняющим ниже прописанный скрипт VBA. Скрипт также модифицирует имя файла в соответствии с датой создания письма. Вариант из примера работает корректно для писем с одним вложением. Для писем с несколькими вложениями нужно изменить код в месте формирования имени файла.

Public Sub saveAttachtoDisk(itm As Outlook.MailItem) Dim objAtt As Outlook.Attachment Dim saveFolder As String dateOfMailItem = Format(itm.ReceivedTime, "yyyy.mm.dd") saveFolder = "C:\\Test" If Dir(saveFolder, vbDirectory) = "" Then MkDir saveFolder End If For Each objAtt In itm.Attachments 'Проверяем наличие файла с таким же именем j = " " For i = 1 To 1000 If Not Dir(saveFolder & "\" & dateOfMailItem & j & objAtt.FileName) = "" Then j = "_" & i & "_" Else Exit For End If Next i 'Конец проверки objAtt.SaveAsFile saveFolder & "\" & dateOfMailItem & j & objAtt.FileName Set objAtt = Nothing Next End Sub

Решение проблем

Если часть созданного правила выполняется, но сам скрипт не срабатывает, то, возможно, дело в настройках безопасности Outlook 2010/2013/2016 (в Outlook 2007 и старше эта опция находится в Tools -> Macro Security). Чтобы макрос сработал:

Обработка msg-вложений

Ниже пример кода, который сохраняет каждое вложение из письма в папку с названием, совпадающим с темой письма. Если вложенные файлы сами являются письмами (т.е. имеют расширение *.msg), то сохраняются только вложения из них в подпапку с названием таким же, как тема вложенного *.msg файла.
Чтобы код работал нужно включить Microsoft Scripting Runtime как описано в другой статье.

Sub saveAttachtoDisk(itm As Outlook.MailItem) Dim objAtt As Outlook.Attachment Dim objAttachments As Outlook.Attachment Dim saveFolder As String Dim openMsg As MailItem dateOfMailItem = Format(itm.ReceivedTime, "yyyy.mm.dd") saveFolder = "C:\Test\" If Dir(saveFolder, vbDirectory) = "" Then MkDir saveFolder End If For t = 1 To Len(itm.Subject) s = Mid(itm.Subject, t, 1) If Not LCase(s) Like "[?/\|*<>:]" Then sSubject = sSubject & s End If Next t For Each objAtt In itm.Attachments saveFolderFull = saveFolder & sSubject If Dir(saveFolderFull, vbDirectory) = "" Then MkDir saveFolderFull End If 'Проверяем наличие файла с таким же именем j = " " For i = 1 To 1000 If Not Dir(saveFolderFull & "\" & dateOfMailItem & j & objAtt.FileName) = "" Then j = "_" & i & "_" Else Exit For End If Next i 'Конец проверки objAtt.SaveAsFile saveFolderFull & "\" & dateOfMailItem & j & objAtt.FileName 'Из msg файлов достаём вложения и удаляем If LCase(Right(objAtt.FileName, 4)) = ".msg" Then Set openMsg = Application.CreateItemFromTemplate(saveFolderFull & "\" & dateOfMailItem & j & objAtt.FileName) sSubject2 = "" For t = 1 To Len(openMsg.Subject) s = Mid(openMsg.Subject, t, 1) If Not LCase(s) Like "[?/\|*<>:]" Then sSubject2 = sSubject2 & s End If Next t If Dir(saveFolderFull & "\" & sSubject2, vbDirectory) = "" Then MkDir saveFolderFull & "\" & sSubject2 End If 'Сохраняем вложения из msg-файла For Each objAttachments In openMsg.Attachments objAttachments.SaveAsFile saveFolderFull & "\" & sSubject2 & "\" & dateOfMailItem & objAttachments.FileName Next openMsg.Close olDiscard Kill saveFolderFull & "\" & dateOfMailItem & j & objAtt.FileName 'Удаляем файл msg-файла End If Set objAtt = Nothing Next End Sub

Сохранение письма с вложениями на диск

Если нужно сохранить само письмо, а не только вложения, то код упрощается:

Вместо этого вы можете настроить электронную почту для автоматического сохранения вложений в онлайн-хранилище файлов. Наиболее облачные сервисы хранения имеют много свободного местаи методы, описанные ниже, могут автоматически сохранять вложения электронной почты при каждом новом письме.


Существует два действительно отличных способа автоматического сохранения вложений электронной почты в облачном хранилище. Первый из них, который мы рассмотрим, использует сервис хранения файлов Koofr для автоматического сохранения и хранения вложений; он работает с любого электронного письма, но ваши файлы могут быть сохранены только в хранилище Koofr.

Другой метод немного более гибкий, так как вы можете выбрать другой сервис облачного хранилища, но он работает не со всеми поставщиками электронной почты.

Использование Koofr для автоматического сохранения вложений электронной почты

    и создайте новый аккаунт. Вы можете сделать это с помощью своего адреса электронной почты или учетной записи Google.
  • Перейти к Добавить >Создать папку,




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

К сожалению, вы не можете выбрать сохранение только вложений, поэтому папка может быть загромождена довольно быстро.

Автоматическое сохранение вложений электронной почты с Zapier

  • Открыть новая страница Zap, Если вы не вошли в систему, у вас будет возможность создать учетную запись.
  • Выберите своего почтового провайдера в первом текстовом поле (поддерживаются Gmail, Microsoft Outlook и другие), а затем Новое приложение во втором, а затем Продолжить,



  • При желании проверить процедуру, выбрав Тест и обзорили закончить с Протестировать и продолжить кнопка.
  • Выберите знак плюс под Сделай это… выбрать, что должно произойти после того, как письмо с вложением будет найдено.
  • Найдите и выберите облачный сервис, в который вы хотите сохранить вложения электронной почты. Поддерживаются такие популярные, как OneDrive, Dropbox, Google Drive и Box.
  • Под Выберите действие событиевыберите, что должно произойти. Мы используем Google Диск для этого примера, поэтому мы выберем Загрузить файл,
  • Нажмите Продолжить,


  • Войдите в провайдера облачных услуг, когда спросят.
  • При желании выберите, где в вашей учетной записи вы хотите сохранить вложения.
  • Для файл вариант, выберите прикрепление, При желании заполните остальные поля и нажмите Продолжить,


  • При желании проверьте процедуру, а затем нажмите Включи Зап чтобы включить его.

Другие методы сохранения вложений электронной почты


Другой метод включает cloudHQ. Когда он настроен, он работает так, что вы открываете электронное письмо с вложением, которое хотите сохранить, а затем нажимаете кнопку, чтобы выбрать место, в котором вы хотите сохранить свое облачное хранилище.

Это занимает несколько кликов, но все же лучше, чем скачивать вложение и загружать его на сайт хранения файлов вручную.

Для этого можно установить три расширения в Chrome:

Вот как это работает, если вы используете его в Gmail для сохранения вложений электронной почты на Google Диске:

Как загрузить все вложения из писем в Gmail?

Если вам интересно, как загрузить все вложения из писем в Gmail, мы дадим вам подробное руководство, чтобы у вас не возникло проблем по этому поводу. Отправка файлов по электронной почте – один из самых удобных способов передачи важной информации. Мы можем получать счета, документы, фотографии и т. Д. По электронной почте.

Будь то один документ или несколько, загрузка вложений в Gmail очень проста и займет всего несколько секунд.

Как скачать вложение в Gmail?

Когда мы получаем электронное письмо, мы можем видеть, есть ли вложения внизу страницы. Как правило, у нас есть три варианта:

Все эти возможности доступны в приложении. Но мы также можем загрузить все файлы одного электронного письма, даже если есть много вложений. Просто нажмите кнопку загрузки в правом верхнем углу экрана.

Google также позволяет нам просматривать файлы, не загружая их. Особенно в случае документов, фотографий и т. Д. Просто «щелкните» по нужному файлу, и он откроется в режиме предварительного просмотра, где вы можете увеличивать, уменьшать масштаб, переворачивать страницы или решать, что с ним делать: скачать, распечатать, сохранить на Google Диске, открыть в документах Google или просмотреть подробности.

Как изменить место загрузки?

Когда вы загружаете документ, он автоматически сохраняется в папке «Загрузки» на вашем компьютере, если в вашем браузере не настроена другая папка. Если вы хотите его изменить, вы можете сделать это в Google Chrome:

  • Открыть браузер
  • Нажмите на три точки в правом верхнем углу.
  • Откройте настройки браузера
  • В меню слева найдите Расширенные настройки.
  • Откройте Загрузки здесь
  • Вверху у нас есть обычное место загрузки, и мы можем нажать «Изменить», чтобы выбрать любую другую папку, которая есть на компьютере. Но вы также можете выбрать, чтобы Google Chrome спрашивал вас, когда вы что-то загружаете.
  • Установите переключатель рядом с «Спрашивать, где каждый файл будет сохранен перед загрузкой», и появится всплывающее окно с вопросом, где вы хотите сохранить любую фотографию или документ, загруженный через браузер.
Если вы используете какое-либо из этих приложений, WhatsApp заблокирует вашу учетную запись.

Как загрузить все вложения из писем в Gmail?

Если вы хотите загрузить все файлы в своей учетной записи электронной почты или если вы хотите загрузить вложения сразу из нескольких писем, мы должны делать это по одному. Но есть хитрости.

Это может быть опасно: Вы можете получать спам и вложения с вирусами при их автоматической загрузке.

От онлайн-казино до социальных сетей: как выбор повлиял на пользовательский опыт

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

Как загрузить все вложения из писем в Gmail?

Как загрузить все вложения из писем в Gmail?

После установки и запуска приложения на рабочем столе мы увидим, что оно имеет простой интерфейс. Первое, что нам нужно сделать, это войти в учетную запись Gmail, из которой мы хотим автоматически загружать вложения нескольких писем. Нам нужно ввести некоторую информацию:

  • Адрес электронной почты
  • Пароль
  • Тип почтового сервера для подключения (Gmail, Outlook, AOL…)

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

Фильтры этого инструмента позволяют нам, например, загружать только файлы определенного типа: фильмы, изображения, музыку, документы и т. Д. Таким образом, мы можем, например, выбрать загрузку только документов PDF, но не изображений или видео в формате JPG или GIF, которые занимают слишком много места.

Подключиться и скачать

Когда все настроено, мы можем проверить, правильно ли работают сделанные нами настройки, нажав кнопку «Подключить и загрузить». Автоматически мы увидим, как пойдет процесс.

Другой вариант – время от времени загружать все почтовые файлы из Gmail. Если вы обычно получаете важные документы по электронной почте, но у вас нет времени просматривать их один за другим, вы можете настроить инструмент, чтобы время от времени загружать их автоматически.

Мы можем сделать это с помощью бесплатного инструмента, который работает как расширение Google Chrome: Сохранение писем и вложений. Для использования этого инструмента у вас должен быть установлен Google Chrome.

Как загрузить все вложения из писем в Gmail?

Как загрузить все вложения из писем в Gmail?

Вы можете скачать его из расширений Google. Этот инструмент будет брать наши вложения из почты и помещать их на Google Диск, чтобы все было организовано.

Читайте также: