- Registriert
- 04. Apr. 2012
- Beiträge
- 300
- Reaktionspunkte
- 0
- Punkte
- 22
Hallo Leute,
ich habe hier ein ernstes Problem vorliegen, welches bereits unter https://www.synology-forum.de/showthread.html?101996-Zarafa-Webapp-und-Zarafa-Webaccess-zeigen-meine-Ornder-nicht-mehr-an%21 andiskutiert wurde. Damals war noch nicht ganz klar, was die Ursache für das Fehlen meiner Posteingangsbox unter Zarafa war. Mitllerweile weiß ich mehr, auch Dank einiger Leute hier in der Community.
System:
Ausgangssituation:

Vermutung:
Der Posteingangsordner des Zarafnutzers wird nicht angezeigt, weil sich der IPM Subtree Entry zerlegt hat.
Lösungsmöglichkeit:
#!/usr/bin/python -u
#
from MAPI import *
from MAPI.Util import *
import sys
if len(sys.argv) < 2:
sys.exit('Usage: %s username' % sys.argv[0])
s = OpenECSession(sys.argv[1], '', 'file:///var/run/zarafa')
st = GetDefaultStore(s)
subtreeid = st.GetProps([PR_IPM_SUBTREE_ENTRYID], 0)[0].Value
openroot = st.OpenEntry(None, None, 0)
table = openroot.GetHierarchyTable(0)
table.SetColumns([PR_DISPLAY_NAME, PR_ENTRYID], 0)
while True:
rows = table.QueryRows(20, 0) # Get 20 folders under the root
if len(rows) == 0: # No results, die
break
for row in rows: # Run through the array
if row[0].Value == "IPM_SUBTREE": # Find IPM_SUBTREE
eid = row[1].Value # Value of IPM_SUBTREE
if subtreeid == eid: # Both match, nothing to fix
print 'Result: IPM_SUBTREE_ENTRYID already matches IPM_SUBTREE!'
print 'IPM_SUBTREE_ENTRYID: ' + subtreeid.encode('hex') + '\nIPM_SUBTREE: ' + eid.encode('hex')
elif len(eid) < 2: # Check to ensure the proper ID is actually given
print 'Result: Invalid IPM_SUBTREE entryid found, aborting...'
else: # Broken, fix it
print 'Result: Setting PR_IPM_SUBTREE_ENTRYID to IPM_SUBTREE'
print 'PR_IPM_SUBTREE_ENTRYID current value: ' + subtreeid.encode('hex')
st.SetProps([SPropValue(PR_IPM_SUBTREE_ENTRYID, eid)]) # Set the proper ENTRYID
print 'PR_IPM_SUBTREE_ENTRYID set to: ' + subtreeid.encode('hex')
Fragen:
Angebot:
Es ist wirklich dringend für mich... Grüße
OhneAhnung
ich habe hier ein ernstes Problem vorliegen, welches bereits unter https://www.synology-forum.de/showthread.html?101996-Zarafa-Webapp-und-Zarafa-Webaccess-zeigen-meine-Ornder-nicht-mehr-an%21 andiskutiert wurde. Damals war noch nicht ganz klar, was die Ursache für das Fehlen meiner Posteingangsbox unter Zarafa war. Mitllerweile weiß ich mehr, auch Dank einiger Leute hier in der Community.
System:
- Ich betreibe noch Zarafa 0.5.5 (Zarafa Version: 7.1.8) mit Z-Pull-Vmail Zarafa Tool 1.1 sowie Z-Push-Zarafa-Tool 2.2.13.3 und Connection Client (7.2.1-51976.msi) zu Outlook 2013 (32bit) und Python 2.7.9
Ausgangssituation:
- Unter Outlook 2013 (32bit) lässt sich plötzlich meine Posteingangsordner nicht mehr erreichen, nachem ich versucht habe unter Outlook einen Kalnder zu integrieren. Outlook lässt sich darauf nicht mehr starten.
- Erst nach Neuinstalltion des Connection Clients (7.2.1-51976.msi) ist Outlook wieder zu starten, allerdings wird das Zaraf-Konto nicht angezeigt.
- Darauf gehe ich per Webapp/Webaccess direkt auf der DS auf Zarafa und kann ebefalls den Posteigangsordner nicht mehr finden. Termine werden jedoch angezeigt, Kontakte nicht.
- Es bricht Panik aus, weil etwa 16GB existenzielle Daten nicht mehr zugänglich sind.
- Meine Sicherung ist aus verschiedenen Gründen etwa 1 Jahr alt und nicht mehr aktuell.
- Handyzugang funktioniert allerdings noch für Kalender und Email (Aufgaben und Notizen noch nicht vollständig überprüft).

Vermutung:
Der Posteingangsordner des Zarafnutzers wird nicht angezeigt, weil sich der IPM Subtree Entry zerlegt hat.
Lösungsmöglichkeit:
- Reset mittels Python-Skript: t: http://wiki.zarafa.com/index.php?title=Resetting_mailbox_IPM_SUBTREE_entry&action=edit
#!/usr/bin/python -u
#
from MAPI import *
from MAPI.Util import *
import sys
if len(sys.argv) < 2:
sys.exit('Usage: %s username' % sys.argv[0])
s = OpenECSession(sys.argv[1], '', 'file:///var/run/zarafa')
st = GetDefaultStore(s)
subtreeid = st.GetProps([PR_IPM_SUBTREE_ENTRYID], 0)[0].Value
openroot = st.OpenEntry(None, None, 0)
table = openroot.GetHierarchyTable(0)
table.SetColumns([PR_DISPLAY_NAME, PR_ENTRYID], 0)
while True:
rows = table.QueryRows(20, 0) # Get 20 folders under the root
if len(rows) == 0: # No results, die
break
for row in rows: # Run through the array
if row[0].Value == "IPM_SUBTREE": # Find IPM_SUBTREE
eid = row[1].Value # Value of IPM_SUBTREE
if subtreeid == eid: # Both match, nothing to fix
print 'Result: IPM_SUBTREE_ENTRYID already matches IPM_SUBTREE!'
print 'IPM_SUBTREE_ENTRYID: ' + subtreeid.encode('hex') + '\nIPM_SUBTREE: ' + eid.encode('hex')
elif len(eid) < 2: # Check to ensure the proper ID is actually given
print 'Result: Invalid IPM_SUBTREE entryid found, aborting...'
else: # Broken, fix it
print 'Result: Setting PR_IPM_SUBTREE_ENTRYID to IPM_SUBTREE'
print 'PR_IPM_SUBTREE_ENTRYID current value: ' + subtreeid.encode('hex')
st.SetProps([SPropValue(PR_IPM_SUBTREE_ENTRYID, eid)]) # Set the proper ENTRYID
print 'PR_IPM_SUBTREE_ENTRYID set to: ' + subtreeid.encode('hex')
- Skript habe ich unter volume1/@appstore/Zarafa/phpmapi/fixipm.py erstellt und Mapi Treiber über pip-Befehl installiert.
- Nach Start des Python-Skripts mittels (python fixipm.py nutzername) kam die Fehlermeldung, dass das Modul MAPI nicht gefunden werden kann (File "fixipm.py", line 4, in <module> from MAPI import *)).
- Trotz mehrerer Versuche kein Erfolg und vorerst Abbruch.
- Hinweis eines Freundes: Das Skript ist sehr alt (2012) und die Schreibweise MAPI müsste heute mapi lauten. Zudem gibt es vermutlich noch andere Änderungen, die am Skript eingepflegt werden müssten.
Fragen:
- Wer kann Hilfestellung zum Gesamtproblem geben?
- Warum läuft es noch per Handy, aber nicht mehr per Computer?
- Wo sitzt der Fehler? In der Datenbank oder in einer Verbindungsebene zwischen Zarafa und Maria DB?
- Wenn ich die Datenbank so sichere wie sie jetzt ist, könnte sich das Problem lösen lassen, wenn ich die Sicherung auf ein neues System unter Zarafa4Home einspiele oder wird der Fehler mit übertragen?
- Wer weiß, ob die Groß- und Kleinschreibung tatsächlich ein Problem sein könnte?
- Wer sieht noch weiteren Veränderungsbedarf am Skript und konkret welchen?
Angebot:
- Wer unterstützt mich per Fernwartung über Teamviewer 14 und Telefon bei der Wiederherstellung meines Zarafa. Biete 40 Euro/Stunde per paypal mit Anzahlung vorab für eine Stunde.
- Ziele sind dabei: Rettung der Datenbank und/oder Wiederherstellung des Systems, so dass ich die Daten über Outlook per pst-Datei sichern kann.
- Zeit ab Samstag möglich
Es ist wirklich dringend für mich... Grüße
OhneAhnung
Zuletzt bearbeitet: