Wird mittel Android exchange active sync an einen unbekannten Empfänger in der
eigenen Domain versendet, kommt die Mail in den Ordner Postausgang mit einer roten Makierung Fehler.
Wird die Mail gelöscht kommt sie in den Papierkorb.
Wird der Papierkorb gelöscht ist die Mail erst einmal verschwunden.
Soweit ist alles in Ordnung.
Wird ein Sync auf Android ausgeführt, ist die Mail wieder vorhanden.
Löschen und Sync kann beliebig oft durchgeführt werden.
Die Mail ist nicht mehr zu löschen.
Das Problem ist, dass die Mail keine
[PR_MESSAGE_DELIVERY_TIME]
hat.
Die Funktion
isset($p[PR_MESSAGE_DELIVERY_TIME])
in der routine IsInEmailSyncInterval
in mapiutils.php
liefert false zurück.
Was von der aufrufend Routine so interpretiert wird, dass die Mail
auserhalb des Synchronisierungszeitraum liegt.
Lösungsmöglichkeit ist später aufgeführt.
Weiteres Problem beim Senden an den unbekannten Empänger in der eigenen Domäne ist:
Wird von Android eine E.Mail gesendet, dann steht die E-mail im Grommunio Webinterface im Ordner
Entwürfe und im Ordner Postausgang
Ist Outlook im Cache mode, ist die Mail in Outlook nur im Ordner Entwürfe und
nicht im Ordner Postausgang.
Ist Outlook nicht im Cache Mode, ist die Mail auch in Outlook im Ordner
Entwürfe und im Ordner Postausgang
vorhanden.
Das Problem ist die Funktion
mapi_message_submitmessage($mapimessage)
Beim versenden an einen Empfänger in der eigenen Domain, kommt die Routine mit einem Fehler zurück,
in erzeugt einen im Cache Modus nicht synchronisierten Eintrag im Ordner
Postausgang
Lösungen:
in File mapiutils.php
in function
die Zeile
if (isset($p[PR_MESSAGE_DELIVERY_TIME]) && $p[PR_MESSAGE_DELIVERY_TIME] >= $timestamp) {
durch
if (!isset($p[PR_MESSAGE_DELIVERY_TIME]) || $p[PR_MESSAGE_DELIVERY_TIME] >= $timestamp) {
ersetzen.
Damit verschwinden die nicht löschbaren Mail messages
in file grommunio.php
function SendMail
Nach
if ($hr) {
die Zeile
mapi_folder_deletemessages( $outbox, array($propsichfly[PR_ENTRYID]));
einfügen.
Damit wird im Fehlerfall die erzeugte nicht gesendete message wieder gelöscht.
Damit verschwindet auf dem Grommunio Server die nicht in den Cache Syncronisierte Message im
Folder Postausgang
Ganz konsistent ist es aber nicht.
Auf Android steht die nicht gesendete Message im Postausgang, in Outlook steht die Message in Entwürfe.
Wird die Message auf Android gelöscht, verschwindet sie auch in Outlook aus Entwürfe.
Anderherum funktioniert es nicht.
Wird die Meaage in Outlook Entwürfe gelöscht, verschwindet sie in Android nicht.
Sie muss dort dann extra gelöscht werden.