Linux - извлекать информацию из электронной почты и записывать в файл

631
Svan

Использование bash mailx или любых других программ - это способ извлечь информацию из почтового ящика и записать конкретную информацию в файл?

Любой имеет представление об этом, у меня есть куча электронных писем с уведомлениями об отслеживании каждый день, я хотел бы извлечь только номер заказа и номер отслеживания, а затем поместить эту информацию на FTP, но моя проблема в том, как мне извлечь такая информация из почтового ящика?

1
Какой формат вашего почтового ящика? Это `maildir` или` mailbox` (он же Mbox)? Alex 7 лет назад 0
Привет Алекс, Maildir Я верю. Svan 7 лет назад 0
Обратите внимание, что https://superuser.com не является бесплатным сервисом для написания скриптов / кодов. Если вы сообщите нам, что вы уже пробовали (включая скрипты / код, который вы уже используете) и где вы застряли, мы можем попытаться помочь с конкретными проблемами. Вам также следует прочитать [Как мне задать хороший вопрос?] (Https://superuser.com/help/how-to-ask). DavidPostill 7 лет назад 0
@Svan, вы можете использовать `munpack` или` ripmime` для извлечения контента из файлов maildir, но анализируете его. Я думаю, что это будет проблемой, потому что ebay несовместим с форматом электронной почты, который они отправляют, это может быть простой текст, но недавно они отправляют электронные письма как HTML со ссылками на номер для отслеживания, который также имеет встроенные коды для отслеживания пользователей, которые являются случайными Alex 7 лет назад 0
Если вы * регулярно получаете электронное письмо с уведомлением об отслеживании, используйте procmail для фильтрации и обработки почты при ее получении. Вы можете использовать `formail` для манипулирования заголовком / телом одного письма. Я не знаком с [maildir] (https://en.wikipedia.org/wiki/Maildir), но если это просто файл для каждого сообщения, используйте `find` и т. Д., Чтобы просмотреть все файлы. dirkt 7 лет назад 0
Формат @dirkt `Maildir` немного запутан, например:` = 09 = 09 = 09 = 09 = 09 = 09Служба доставки: USPS Retail Ground`, поэтому сначала может быть извлечено тело сообщения для его удобного анализа. Alex 7 лет назад 0

0 ответов на вопрос

Похожие вопросы