scriptcoding.ru

JScript: Сохранение электронной почты и вложений

Автор: Владимир БаталийДата: 2014/01/07 в 9:03

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

В первую очередь нужно определиться со следующими моментами:

  • Для доступа к электронной почте (неважно, будет производиться доступ из программы-клиент, например Outlook, или программным путем) нужны четыре основные параметра: адрес почтового сервера, адрес электронной почты, пароль и порт для подключения .
  • Параметры подключения будут зависеть от настроек вашего почтового сервера (yandex.ru, google.com, mail.ru и так далее), в том числе, как дополнительный параметр, нужно включить или отключить SSL .
  • Текстовое и HTML содержимое письма – дело в том, что мы можем сохранить как HTML, так и текстовое содержимое электронной почты, много зависит от поля Content-Type. Однако, при тестировании скрипта, я заметит, что для некоторых писем вместо визуально видимого содержимого, скрипт возвращает практически пустую строку.

Теперь давайте рассмотрим, поставленные задачи:

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

Хорошо, с подводными камнями и поставленными задачами мы определились, теперь надо определиться с компонентами:

  • WindowSystemObject – данный компонент позволит создать оконный интерфейс (своеобразную оболочку для программного кода). Вы можете ознакомится и скачать данный компонент на странице "Создаем оконный интерфейс "www.example-code.com/vbscript/pop3.asp .

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

А теперь самое сложное – программирование… я постараюсь основные моменты объяснить в комментариях. Если будут вопросы, задавайте, буду рад ответить…

Хорошо, некоторые пояснения к программному коду все же надо дать. При запуске скрипта, в текстовые

поля (Label1 … Label5 ) нужно прописать данные для подключения к почтовому серверу. Label5 будет содержать путь к текущему каталогу (каталог, из которого вы запустили сценарий), если будете прописывать собственный путь, то косую черточку в конце ставить не надо, иначе произойдет некорректное сохранение данных!

CheckBox1 – позволяет поставить галочку (включить SSL) или снять (выключить SSL).

CheckBox2 – если вы поставите галочку, то в заданном каталоге файлы будут группироваться по подпапкам. Поясню: допустим, у нас есть письма от a@mail.ru, b@mail.ru и c@mail.com, логично создать папки с такими именами, и в каждую папку помещать письма только от  этого автора. Как сохранить электронную почту.

При запуске скрипта активной будет только одна кнопка (Button1 ) – “анализировать”. Нажав на нее, произойдет подключение к заданному почтовому ящику и считывание информации. Информация о всех письмах будет храниться в массиве data_array. а именно: имя автора, электронный адрес отправителя, тема письма, дата и текстовое содержимое. Если все пройдет успешно, появится таблица (list_view_obj ) содержащая четыре поля и количество строк, равных числу писем. Если вы дважды щелкнете по заданной строке, то внизу в поле Edit2 будет отображаться текстовое содержимое выбранного электронного письма.

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

Программирование довольно интересное и занимательное занятие, но только до тех пор, пока вы воспринимаете все это как хобби. Но как только вы решаете создать что серьезное, то на поверхность начинаю выплывать подводные камни и неприятные нюансы. Однажды я решил написать скрипт, задача которого была в сканировании сайта на предмет внешних битых ссылок. И трудности возникали не в плане программирования, а в плане решения поставленной задачи. Сначала условием проверки битой ссылки была ошибка “404”, все вроде логично и правильно, но, возможен случай, когда не только страница, но и сам домен удален, или даже такой вариант – сайт на заданном домене давным-давно удален, но хостер, просто размещает там рекламу, в этом случае, понять, что ссылка на заданный домен является битой можно только визуально, так как опрос ответов сервера ничего не даст.

И так, мы рассмотрели, как сохранить электронную почту вместе с вложениями с помощью программного кода на языке JScript и двух компонентов. Буду рад услышать вопросы и возмущения

Источник: scriptcoding.ru

Категория: Электронная почта

Похожие статьи: