Можно ли сделать резервную копию писем в базе данных MySQL? Допустим, у меня есть учетная запись[email protected]и я хочу хранить записи всех писем внутри mail.domain.com локально, на моем компьютере.
Из того, что я искал в интернете, сказано, что почтовый сервер хранит письма в виде текстового файла. Так что, если я смогу получить этот файл, перенести его на свой локальный компьютер, то я смогу обработать его и сохранить в базе данных, верно?
Итак, мой вопрос: как перенести файл с почтового сервера на мой локальный компьютер? Как вообще идентифицировать файл?
Буду очень признателен за любой пример.
Заранее спасибо.
решение1
Большинство почтовых серверов хранят электронные письма либо в «Почтовых папках», либо в «Почтовых каталогах». «Почтовые папки» означает, что в каждой папке/категории хранятся все электронные письма, одно за другим. «Почтовый каталог» означает, что каждая папка на самом деле является каталогом, в котором каждое почтовое сообщение представлено как отдельный файл в этом каталоге.
Вы правы, когда говорите, что если вы получите этот почтовый файл (который на самом деле означает почтовые папки или почтовые каталоги), вы можете написать скрипт для его импорта в свою базу данных.
Что касается идентификации почтовых каталогов/папок, то это не то, что вам нужно делать, это то, что должен сделать "почтмейстер" вашего домена, чтобы он посоветовал вам, поскольку они могут быть где угодно. Обычные места (в системах Unix) включают /var/spool/mail и ~mail - но это произвольно.
Альтернативой получению почтовой папки/директории было бы указание серверу предоставить ее вам. В зависимости от вашего сценария, если у вас есть все письма, находящиеся в вашем почтовом ящике, и ваш провайдер использует протокол "POP3", вы должны иметь возможность написать скрипт механизма, который будет извлекать каждое письмо и обрабатывать его. POP3 - довольно простой протокол для общения. Вы можете сделать что-то похожее с IMAP - который предоставит вам доступ ко всем файлам - но он гораздо сложнее в использовании и, возможно, потребует фреймворка/библиотеки для помощи.
Сами почтовые сообщения довольно просты -
Они состоят из заголовка, разделенного 2 строками, и тела. Вы можете проанализировать заголовок, чтобы получить от, кому, тему, дату сообщения и т. д. Тело может быть текстовым или может быть разбито на несколько разделов, каждый из которых обычно закодирован Base64 (но есть альтернативы этому) — например, если вы получаете электронное письмо с HTML и текстом, или электронные письма или вложения в электронном письме.