Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Телефоны
    +7 (495) 320-70-49
    Заказать звонок
    0
    0
    0
    Аспро: ЛайтШоп
    • +7 (495) 320-70-49
      • Назад
      • Телефоны
      • +7 (495) 320-70-49
      • Заказать звонок
    • info@proxmox.su
    • Москва, Бакунинская улица, 69с1
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Proxmox Mail Gateway
    Экспорт данных из центра отслеживания в файл

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Экспорт данных из центра отслеживания в файл, Proxmox Mail Gateway
     
    khangnch
    Guest
    #1
    0
    09.01.2023 05:07:00
    Привет. Хотел уточнить, есть ли возможность экспортировать лог почты в трекинг-центре в файл .pdf или .xlsx. Мне нужно распечатать лог почты для аудита. Спасибо.
     
     
     
    crz
    Guest
    #2
    0
    13.03.2024 14:26:00
    @t.lamprecht Есть новости по этому поводу? Сегодня у меня возникла проблема: нужно было экспортировать список всех писем между двумя временными метками и для нескольких доменов. У клиента случился сбой оборудования, и он потерял примерно два часа писем, так как их резервная копия была слишком старая. Он хотел получить список писем между временем резервного копирования и сбоем, чтобы связаться с клиентами и попросить их повторно отправить утерянные письма. Пока что я копировал и вставлял эту информацию из веб-интерфейса pmg -> trackingcenter в Excel, но возникали проблемы. Например, временная метка в первой строке не импортировалась корректно.

    «Mär 12 13:39:10 renate.***@****.de D.****@***.de accepted/delivered» при копировании в Excel превращалась в: «01.03.2012 13:39 renate.***@****.de D.****@***.de accepted/delivered».

    Кроме того, нельзя выбрать сверху, прокрутить вниз и скопировать всё сразу. Это приходится делать частями, что совсем не удобно, если писем много. Было бы здорово, если бы появилась кнопка для экспорта текущего выбора в tracking center в CSV-файл. Возможно, даже с возможностью выбрать несколько доменов в поле TO.

    Что касается вашего обходного решения:

    Входные данные:  
    Code: pmg-log-tracker -s "2024-03-12 12:00:00" -e "2024-03-12 13:40:00" -t @DOMAIN -n

    Вывод:  
    Code: TO:65F05AFE:E01C710189C:P: from <renate.***@****.de> to <D.****@***.de> (IP[IP]:25)

    Отсутствуют временная метка и статус письма, что явно не идеально.

    Спасибо за ваше время.
     
     
     
    pietroaretino
    Guest
    #3
    0
    06.05.2024 14:15:00
    Честно говоря, это бы очень пригодилось, если бы была возможность экспортировать в CSV. К сожалению, как упомянул crz, CLI показывает журнал треков, но не показывает «Статус». Иначе было бы легко перенаправить этот вывод в файл и с помощью регулярных выражений всё поправить.
     
     
     
    hilocz
    Guest
    #4
    0
    12.11.2024 17:12:00
    Кто-нибудь уже писал запрос на доработку? Я впервые внедряю PMG, и это просто необходимо.
     
     
     
    crz
    Guest
    #5
    0
    18.08.2025 10:24:00
    Извини за поздний ответ. Думаю, нет. Если ты сможешь оформить запрос на добавление этой функции, было бы здорово.
     
     
     
    hilocz
    Guest
    #6
    0
    11.02.2026 14:20:00
    Добавлено в Bugzilla https://bugzilla.proxmox.com/show_bug.cgi?id=7304, пожалуйста, добавьте себя в CC, так это привлечёт больше внимания.
     
     
     
    Giolden
    Guest
    #7
    0
    23.02.2026 18:29:00
    Привет,  
    По поводу проблемы было решено следующим образом:  
    Экспортировать необработанные данные через SSH в Proxmox Mail Gateway --> Например, для этого временного диапазона:  
    Код: pmg-log-tracker -s "2026-02-17 00:00:00" -e "2026-02-24 23:59:59" -v -n -g > /tmp/raw.txt  

    Создать скрипт парсинга в SSH-сессии:  
    Код: cat > /tmp/parse.py << 'EOF'  
    import re, csv, datetime  
    entries = []
    current = None  
    with open('/tmp/raw.txt') as f:  
     for line in f:  
      line = line.rstrip()  
      if line.startswith('QENTRY:') or line.startswith('SMTPD:'):  
       if current and current.get('to'):  
        entries.append(current)  
       current = {'timestamp':'','from':'','to':'','status':'','size':'','client':'','msgid':''}  
      elif current is not None:  
       if line.startswith('CTIME:'):  
        try:  
         ts = int(line.split(':',1)[1].strip(), 16)
         current['timestamp'] = datetime.datetime.fromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S')
        except: pass  
       elif line.startswith('SIZE:'):  
        current['size'] = line.split(':',1)[1].strip()
       elif line.startswith('CLIENT:'):  
        current['client'] = line.split(':',1)[1].strip()
       elif line.startswith('MSGID:'):  
        current['msgid'] = line.split(':',1)[1].strip().strip('<>')
       elif line.startswith('TO:'):  
        parts = line.split(':', 4)  
        if len(parts) >= 4:  
         code = parts[3].strip()
         if code in ('A','P','2'): current['status'] = 'allowed'
         elif code in ('B','N'): current['status'] = 'blocked'
         elif code == 'Q': current['status'] = 'quarantine'
         elif code in ('G','D','4'): current['status'] = 'greylisted'
         elif code == '5': current['status'] = 'failed'
         else: current['status'] = code
        m = re.search(r'from <([^>]*)> to <([^>]*)>', line)
        if m:  
         current['from'] = m.group(1)
         current['to'] = m.group(2)
    if current and current.get('to'):  
     entries.append(current)  
    entries.sort(key=lambda x: x['timestamp'])
    counts = {}  
    for e in entries:  
     counts[e['status']] = counts.get(e['status'], 0) + 1
    with open('/tmp/ipa_mail_report.csv', 'w', newline='') as f:  
     w = csv.writer(f, delimiter=';')  
     w.writerow(['timestamp','from','to','status','size','client','msgid'])
     for e in entries:  
      w.writerow([e['timestamp'], e['from'], e['to'], e['status'], e['size'], e['client'], e['msgid']])
    print(f"{len(entries)} Mails exportiert")  
    for k in sorted(counts):  
     print(f"  {k}: {counts[k]}")
    if entries:  
     print(f"Zeitbereich: {entries[0]['timestamp']} bis {entries[-1]['timestamp']}")
    EOF  

    Запустить скрипт:  
    Код: python3 /tmp/parse.py  

    Проверить содержимое:  
    Код: head -5 /tmp/ipa_mail_report.csv  

    В другой сессии PowerShell открыть SSH-подключение и выполнить команду:  
    Код: scp -i "SSH Verbindungsart" root@>eureIP<:/tmp/ipa_mail_report.csv C:\temp\ipa_mail_report.csv  

    Примечание: Путь, куда вы экспортируете файл, должен существовать заранее.  

    С наилучшими пожеланиями,  
    Giolden
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

    Конфиденциальность Оферта
    © 2026 Proxmox.su
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры