К досаде конкурентов GoogleMail сегодня является практически синонимом электронной почты, так же как поисковый движок Google стал уже нарицательным обозначением поиска в интернете. Gmail — полезная штука и имеет множество преимуществ над традиционной клиент-серверной моделью электронной почты, особенно если вы часто путешествуете. По правде говоря эти премущества присущи любой системе электронной почты, работающей через браузер, и мы здесь говорим о Gmail только потому, что она наиболее популярна. Однако она имеет и один, но существенный недостаток — все ваши сообщения хранятся на серверах Google. Если вы по каким-либо причинам потеряете доступ к своему аккаунту, то лишитесь всей почты. Предотвратить такой печальный исход нам поможет getmail.
Getmail — это утилита командной строки для получения почты с удаленных серверов и сохранения ее на локальном компьютере. Почта может сохраняться в виде файла mbox или директории Maildir. Лично я предпочитаю последний, так как в этом случае почта не хранится в одном файле, постоянно растущим со временем.
Getmail — это утилита командной строки для получения почты с удаленных серверов и сохранения ее на локальном компьютере. Почта может сохраняться в виде файла mbox или директории Maildir. Лично я предпочитаю последний, так как в этом случае почта не хранится в одном файле, постоянно растущим со временем.
Установка
Честно говоря сам не знаю, зачем я еще вставляю этот раздел в свои статьи. Установка ПО в современных системах GNU/Linux настолько проста, что для этого не нужно никаких подсказок. Просто найдите getmail в своем штатном менеджере пакетов и установите. Вы можете также скачать исходный код с домашней страницы и собрать пакет самостоятельно. Я просто установил его с помощью apt-get из командной строки. Getmail имеет несколько зависимостей, среди которых python script, так что должен быть установлен и Python.
Настройка GoogleMail
Для того, чтобы получить почту с Gmail, нужно разрешить доступ к почте извне. Getmail поддерживает аккаунты типа POP3, POP3-over-SSL, IMAP4, IMAP4-over-SSL и SDPS. Для скачивания почты я собираюсь использовать POP3, но GoogleMail, как известно, поддерживает IMAP.
Во-первых, войдите в свой аккаунт Gmail и перейдите в раздел «настройки». Выберите вкладку «Пересылка и POP/IMAP». В секции «Доступ по протоколу POP» задайте «Включить POP для всех писем». Позже вы сможете вернуть значение «Включить POP для писем, полученных с этого момента», но сейчас нам нужно сделать копию всех писем. После этого выберите нужную вам опцию для «Когда письма загружаются с помощью POP». Я например задал «сохранить копию письма во входящих Gmail». Сохраните изменения.
Во-первых, войдите в свой аккаунт Gmail и перейдите в раздел «настройки». Выберите вкладку «Пересылка и POP/IMAP». В секции «Доступ по протоколу POP» задайте «Включить POP для всех писем». Позже вы сможете вернуть значение «Включить POP для писем, полученных с этого момента», но сейчас нам нужно сделать копию всех писем. После этого выберите нужную вам опцию для «Когда письма загружаются с помощью POP». Я например задал «сохранить копию письма во входящих Gmail». Сохраните изменения.
Настройка getmail
Можно использовать getmail для получения почты с GoogleMail, просто вводя параметры в командной строке, однако я думаю, вы захотите время от времени повторять эту процедуру, так что лучше настроить все в конфигурационном файле getmail. Если вы не укажете полный путь к конфигу, getmail будет искать его в директории, заданной по умолчанию. В большинстве систем это будет .getmail в домашней директории пользователя. Конечно, вы можете поместить этот файл где хотите. Главное, чтобы пользователь, под которым вы запускаете getmail, имел права чтения на этот файл. Если не указать путь к конфигу, по умолчанию будет использоваться ~/.getmail/getmailrc. Для простоты мы будем использовать значения по умолчанию, однако если у вас несколько аккаунтов, вы можете создать отдельный конфиг для каждого и при запуске указывать, который вам нужен:
getmail -r <путь к файлу>
Ну а теперь создадим файл ~/.getmail/getmailrc и введем в него свои данные. Здесь YourGoogleMailAddress — ваш адрес электронной почты на Gmail:
[retriever]
type = SimplePOP3SSLRetriever
server = pop.gmail.com
username = YourGoogleMailAddress
[destination]
type = Maildir
path = ~/gmailBackup/
[options]
verbose = 1
message_log = ~/.getmail/gmail.log
Строка message log необязательна, но полезна для контроля работы getmail. Некоторые другие опции заслуживают того, чтобы поговорить о них. Type может быть задано как Maildir или mbox, в зависимости от того, что вы предпочитаете. В качестве пути (path) может быть задана любая директория, для которой у пользователя, запускающего getmail, есть права записи. Строка verbose определяет сколько информации будет выводиться на консоль при работе getmail. При значении 1 будут выводиться скачиваемые сообщения, при 0 — только предупреждения и ошибки, а при 2 будет выводиться очень много информации. В данном случае единица — золотая середина.
Запуск
После создания конфигурационного файла можно запускать getmail. Откройте терминал, введите getmail и нажмите Enter. Если вы назвали свой конфиг по другому, необходимо указать имя файла в качестве ключа в командной строке:
getmail -r filename
если файл расположен в другой директории, необходимо указывать полный путь к нему:
getmail -r /path/to/your/config/file
После запуска getmail запросит ваш пароль от аккаунта Gmail. Если вам не хочется каждый раз вводить пароль вручную, можете внести его в секцию retriever конфигурационного файла. Ниже строки username вставьте:
password = YourGoogleMailPassword
Лично я к таким вещам отношусь негативно, так как каждый, имеющий доступ к моему ноутбуку, может получить доступ к почтовому аккаунту, но если вы собираетесь запускать getmail как задание для cron, то пароль необходимо будет задать в файле.
При каждом запучске getmail он будет скачивать новые письма, полученные после его последнего запуска. Для того, чтобы читать сохраненную почту на локальном компьютере, можно использовать любой почтовый клиент. Я предпочитаю mutt, так как он обеспечивает простой и быстрый доступ к резервной копии и не требует предварительной настройки аккаунтов, как большинство графических почтовых клиентов.
При каждом запучске getmail он будет скачивать новые письма, полученные после его последнего запуска. Для того, чтобы читать сохраненную почту на локальном компьютере, можно использовать любой почтовый клиент. Я предпочитаю mutt, так как он обеспечивает простой и быстрый доступ к резервной копии и не требует предварительной настройки аккаунтов, как большинство графических почтовых клиентов.
Автоматизация
Если вы достаточно интенсивно пользуетесь почтой Gmail, вероятно вы захотите выполнять резервное копирование регулярно. Конечно можно делать это и вручную, но лучше использовать cron для автоматизации резервного копирования. Наберите в терминале crontab -e и файл cron откроется в текстовом редакторе. Теперь можно добавить команды для запуска заданий в определенное время. Перейдите в конец файла и добавьте следующую строку:
10 10 * * 1-5 /usr/bin/getmail -r /full/path/to/your/config_file >/dev/null
Формат команд cron: минуты час день_месяца день_недели команда.
В данном случае команда будет запускаться в 10:10 каждый рабочий день недели каждого месяца. Обратите внимание, что необходимо указывать полный путь к любому конфигурационному файлу, который вы используете. Сокращения типа «~» работают не всегда. Конечно при использовании файла по умолчанию, его можно вообще не указывать. Запись > /dev/null в конце строки означает, что любой вывод команды аннулируется, иначе система будет каждый раз отправлять на ваш e-mail список загруженной почты. Ошибки при запуске команды (например, если вы неправильно введете команду) будут отправляться вам. Если вы хотите отключить отправку ошибок, замените > /dev/null на 1&2> /dev/null.
Замечания и предостережения
- предоставление доступа по протоколу POP к аккаунту Gmail может снизить уровень его безопасности. Если вы хотите избежать этого, необходимо вручную возвращать все настройки аккаунта в исходное положение после окончания резервного копирования.
- Getmail можно использовать с любым удаленным почтовым аккаунтом, который поддерживает стандартные протоколы. Это значит, что вы можете делать резервные копии аккаунтов и в других постовых службах, но не могу гарантировать, что это будет работать, так как сам не пробовал.
- Я не могу отвечать за сохранность вашей электронной почты, поэтому если вы последуете советам, приведенным в данной статье, и что-то пойдет не так, я снимаю с себя ответственность за какие-либо последствия. Все, что описано в данной статье, вы делаете на свой страх и риск.
- Getmail можно использовать с любым удаленным почтовым аккаунтом, который поддерживает стандартные протоколы. Это значит, что вы можете делать резервные копии аккаунтов и в других постовых службах, но не могу гарантировать, что это будет работать, так как сам не пробовал.
- Я не могу отвечать за сохранность вашей электронной почты, поэтому если вы последуете советам, приведенным в данной статье, и что-то пойдет не так, я снимаю с себя ответственность за какие-либо последствия. Все, что описано в данной статье, вы делаете на свой страх и риск.
А как сделать резервную копию папки Отправленные. Насколько я понимаю через POP сохраняются только входящие письма?
ОтветитьУдалить