colinardo
Goto Top

Outlook 2013 dazu bringen gesendete Mails standardmäßig auf dem IMAP-Server zu speichern

Microsoft hat uns in Outlook 2013 wieder einige nützlichen Funktionen gestohlen. Unter anderem das konfigurieren des Ordners für "Gesendete Elemente". Dieser Tipp beschreibt wie man Outlook bei einem IMAP-Account dazu bringen kann die Mails wieder standardmäßig auf dem Server zu speichern.

back-to-topZunächst mal zur technischen Vorgehensweise die Outlook beim Einrichten eines IMAP-Kontos anwendet:
  • Als erstes überprüft Outlook ob der jeweilige IMAP-Server den speziellen XLIST oder LIST-ENHANCED Befehl beherrscht (siehe RFC6154) - mit dieser Befehlserweiterung kann der Client die speziellen Ordner für "Papierkorb" oder "Gesendete Elemente" identifizieren und zuordnen. Unterstützt der IMAP-Server diese Erweiterung macht Outlook automatisch die korrekte Zuordnung.
  • Unterstützt der Mailserver die Erweiterung jedoch nicht, sucht Outlook alternativ nach einem Ordner mit dem Namen "Sent Items"; wird dieser gefunden werden die gesendeten Mails automatisch in diesem auf dem Server abgespeichert.Wichtiger Hinweis: Diese Zuordnung geschieht aber nur beim Neueinrichten des Kontos, nachträgliches Anlegen dieses Ordners führt nicht zum Erfolg.
  • Findet Outlook keinen entsprechend benannten Ordner werden die gesendeten Mails nur lokal gespeichert oder Outlook erstellt einen eigenen Ordner auf dem IMAP-Server.

ERGO: Entweder man benutzt als Namen für den Gesendete Elemente Ordner den englischen Namen "Sent Items" oder man verschiebt eine Kopie der Mail mit einem automatischen Makro auf den Server (siehe Beispiel unten). Oder als lästige Alternative: Beim Senden der Mail lässt sich angeben wo diese in Kopie gespeichert werden soll.

Hätte mir von Microsoft zumindest gewünscht das die Konfiguration der speziellen Ordner zumindest in der Übergangszeit bis alle Mailserver die Erweiterungen unterstützen, erhalten geblieben wären. Aber erneut werden die Anwender nicht erhört sondern wieder vor die Wahl gestellt >> Entweder/Oder. So vergrault man treue Nutzer..

Grüße colinardo
Nachtrag:
back-to-topÜberprüfen ob der eigene Mailserver die LIST-Erweiterung unterstützt
Man gebe folgende Befehle in die Shell ein:
telnet imap.euermailserver.de 143
a01 login USERNAME PASSWORD
b02 CAPABILITY
Jetzt sollte der Mailserver eine Liste der unterstützen Befehle ausgeben.
Wenn XLIST oder SPECIAL-USE auftauchen werden die speziellen Erweiterungen unterstützt.
back-to-topBeispiel-Makro für Outlook zum automatischen verschieben der gesendeten Nachricht in einen benutzerdefinierten Ordner auf dem IMAP-Server
Das ganze im VBA-Editor(ALT-F11) in das Modul ThisOutlookSession einfügen und den Namen des Ordners in Zeile 2 angeben
Hinweis: Im Beispielcode muss sich der Ordner im Root-Verzeichnis des IMAP-Servers befinden
Das Makro berücksichtigt das Konto von dem aus die Mail gesendet wird, d.h. die Mails landen dann auch im entsprechenden IMAP-Konto.
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    NAME_DES_SENTMAIL_ORDNERS = "Gesendete Objekte"  
    Dim sentFolder As Folder
    On Error Resume Next
    Set sentFolder = Item.SendUsingAccount.DeliveryStore.GetRootFolder.Folders(NAME_DES_SENTMAIL_ORDNERS)
    If Not sentFolder Is Nothing Then
        Set Item.SaveSentMessageFolder = sentFolder
    Else
        MsgBox "Der angegebene Ordner: '" & NAME_DES_SENTMAIL_ORDNERS & "' existiert nicht", vbExclamation  
    End If
End Sub

Content-Key: 207679

Url: https://administrator.de/contentid/207679

Ausgedruckt am: 28.03.2024 um 11:03 Uhr

Mitglied: Pesche
Pesche 16.09.2013 um 14:56:26 Uhr
Goto Top
Hmm, vielen Dank. Das hilft mir allerdings nur beschränkt. Denn eigentlich möchte ich die Mails nicht auf dem IMAP-Server, sondern auf meinem Exchange-Server haben. Das hat mit Outlook 2010 gut geklappt, aber eben jetzt nicht mehr. Sie sind nämlich auf dem IMAP-Server, hab ich herausgefunden. Aber ich kann eben nicht mehr wählen, dass sie stattdessen usw. Aber ich nehme an, dass es eben jetzt heisst: Entweder so oder nicht...
Mitglied: colinardo
colinardo 16.09.2013 aktualisiert um 17:43:13 Uhr
Goto Top
@Pesche
das obige Script ließe sich problemlos so anpassen das die gesendete Mail auf deinem Exchange gespeichert wird...
Grüße Uwe
Mitglied: Pesche
Pesche 16.09.2013 um 18:13:43 Uhr
Goto Top
@uwe. Jetzt bin ich wohl ein wenig überfordert. Hab das Skript implementiert, aber das klappt nicht; es kommt die mitprogrammierte Fehlermeldung. Das heisst wohl, dass ich das mit dem Rooten noch machen muss. Und da bin ich überfordert. Wie und wo mach ich das?
Mitglied: colinardo
colinardo 16.09.2013, aktualisiert am 17.04.2015 um 11:01:38 Uhr
Goto Top
Zitat von @Pesche:
Das heisst wohl, dass ich das mit dem Rooten noch machen muss. Und da bin ich überfordert.
Wie und wo mach ich das?
Hier wird nix gerooted face-wink sind ja nicht auf einem Android System...
Es muss nur ein Ordner im Stammpfad deines IMAP-Servers mit dem in Zeile 2 angegebenen Namen angelegt werden, dann muss es funktionieren.
Solltest du die Mails wie gewünscht nicht auf dem IMAP sondern in deinem Exchange ablegen musst du die Zeile 5 des Scripts folgendermaßen anpassen:
Set sentFolder = Application.Session.Stores("##ExchangeAccount##").GetRootFolder.Folders(NAME_DES_SENTMAIL_ORDNERS) 
Dabei musst du das ##ExchangeAccount## durch den Namen des Rootknotens deines Exchange-Accounts wie er in der Ordneransicht von Outlook erscheint ersetzen. Und natürlich wieder den Namen des Gesendete Objekte Ordners in Zeile 2 des Scripts an deine Gegebenheiten anpassen.

Grüße Uwe
Mitglied: Pesche
Pesche 17.09.2013 um 08:14:48 Uhr
Goto Top
Hallo Uwe.
Ich weiss deine Bemühungen sehr zu schätzen, vielen Dank. Aber ich bin wohl zu beschränkt dafür. Es sieht jetzt so aus bei mir:

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
NAME_DES_SENTMAIL_ORDNERS = "Sent Items"
Dim sentFolder As Folder
On Error Resume Next
Set sentFolder = Application.Stores("peter.brechbuehler@phzh.ch").GetRootFolder.Folders(NAME_DES_SENTMAIL_ORDNERS)
If Not sentFolder Is Nothing Then
Set Item.SaveSentMessageFolder = sentFolder
Else
MsgBox "Der angegebene Ordner: '" & NAME_DES_SENTMAIL_ORDNERS & "' existiert nicht", vbExclamation
End If
End Sub

Und trotzdem funktioniert es nicht. Soll/kann ich dir einen Screenshot meiner Ordnerstruktur in Outlook online stellen?
Gruss Pesche
Mitglied: colinardo
colinardo 17.09.2013, aktualisiert am 17.04.2015 um 11:01:06 Uhr
Goto Top
Sorry,
da hatte ich gestern noch was vergessen habe es oben korrigiert.
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Dim sentFolder As Folder
    On Error Resume Next
    Set sentFolder = Application.Session.Stores("peter.brechbuehler@phzh.ch").GetRootFolder.Folders("Sent Items")  
    If Not sentFolder Is Nothing Then
        Set Item.SaveSentMessageFolder = sentFolder
    Else
        MsgBox "Der angegebene Ordner existiert nicht!", vbExclamation  
    End If
End Sub

Grüße Uwe
Mitglied: Pesche
Pesche 17.09.2013 um 10:38:15 Uhr
Goto Top
Auch das klappt nicht. Keine Fehlermeldung, aber nach wie vor im Sent-Ordner des IMAP-Ordners gespeichert. Aber sonst lassen wir es, ich hab halt die gesendeten Mails einfach in zwei verschiedenen Ordnern, nicht so schlimm. Gruss, Pesche
Mitglied: colinardo
colinardo 17.09.2013 aktualisiert um 10:49:50 Uhr
Goto Top
dann ist die Ordner-Angabe bei dir noch falsch, mach mal das On Error Resume Next raus und sehe welche Fehlermeldung er dir bringt ...ansonsten helfe ich dir gerne via Teamviewer weiter wenn du möchtest, dann geht's 100 Prozent, versprochen!
Mitglied: Pesche
Pesche 17.09.2013 um 11:29:13 Uhr
Goto Top
Keine Fehlermeldung. Also ich hab nur diese Zeile rausgenommen, richtig?
Mitglied: colinardo
colinardo 17.09.2013 aktualisiert um 11:46:45 Uhr
Goto Top
kontrolliere nochmal genau deinen kopierten Code von meinem letzten Thread und poste mal ein Bild deiner Ordneransicht der Stores, am besten via PM, sonst kommen wir hier nicht weiter, oder Teamviewer ID und PW via PM.
Mitglied: Pesche
Pesche 17.09.2013 um 11:48:19 Uhr
Goto Top
Was heisst PW und PM?
Mitglied: colinardo
colinardo 17.09.2013 aktualisiert um 11:50:51 Uhr
Goto Top
Zitat von @Pesche:
Was heisst PW und PM?
PW = Passwort
PM = Personal Message (hier über die Forumsfunktion)
damit wir hier den Thread nicht zumüllen
Mitglied: cccThomasK
cccThomasK 23.10.2013 um 18:04:26 Uhr
Goto Top
Hallo colinardo

vielen Dank für das Macro. Leider bekomme ich eine Fehlermeldung:
"Der Angegeben Ordner: " existiert nicht"
Wenn ich diese bestätige wird das e-mail aber in den richtigen ordner verschoben ...

Woran kann das liegen? Was mache ich falsch?

Lässt sich das Macro so erweitern das die Ordner:
"Gelöschte Elemente (nur dieser Computer)" nach Papierkorb
und
"Entwürfe (nur dieser Computer)" nach Entwurf
sowie
"Junk-E-Mail (nur dieser Computer)" nach Junk
verschoben werden?

Vielen dank für die Unterstützung

Thomas
Mitglied: colinardo
colinardo 23.10.2013 aktualisiert um 18:16:13 Uhr
Goto Top
Hallo Thomas,
Zitat von @cccThomasK:
Leider bekomme ich eine Fehlermeldung:
"Der Angegeben Ordner: " existiert nicht"
Wenn ich diese bestätige wird das e-mail aber in den richtigen ordner verschoben ...

Woran kann das liegen? Was mache ich falsch?
Das schließt sich aber beides voneinander aus, denn wenn die Fehlermeldung kommt wird der Code in dem angegeben ist wo die Mail gespeichert werden soll, nicht ausgeführt. Denke du hast den "Gesendete Objekte"-Ordner in Zeile 2 nicht korrekt angegeben.

Lässt sich das Macro so erweitern das die Ordner:
"Gelöschte Elemente (nur dieser Computer)" nach Papierkorb
und
"Entwürfe (nur dieser Computer)" nach Entwurf
sowie
"Junk-E-Mail (nur dieser Computer)" nach Junk
verschoben werden?
müsste man mal evaluieren, aber das gehört nicht hier hin, bitte mach dazu einen extra Thread auf. Danke.

Grüße Uwe
Mitglied: Akcent
Akcent 16.06.2018 um 14:16:23 Uhr
Goto Top
Bei mir klappt fas nicht.
Das VBA ist aktiv und hat auch mal funktioniert, aber am nächsten Tag nicht mehr.
Mitglied: colinardo
colinardo 16.06.2018 aktualisiert um 16:07:19 Uhr
Goto Top
Zitat von @Akcent:
Bei mir klappt fas nicht.
Hallo erst mal!
Das VBA ist aktiv und hat auch mal funktioniert, aber am nächsten Tag nicht mehr.
Das liegt definitiv nicht am Skript, vermutlich deaktiviert dir eine GPO deine Makros nach dem Neustart.
Mit den wenig Infos, können wir nur unsere Glaskugeln polieren.

Weitere Nachrichten bitte nur per PM, danke.

Grüße Uwe
Mitglied: Akcent
Akcent 16.06.2018 aktualisiert um 20:13:42 Uhr
Goto Top
Servus Uwe.

Ok aber welche?
Ist ein Einzelplatz Win10, keine Dom und ich wüßte nicht, welche GPO das was verhindern sollte.
Sicherheit Makros ist auch auf alles erlauben.

VG, Herry
Mitglied: colinardo
colinardo 17.06.2018 aktualisiert um 07:14:26 Uhr
Goto Top
Best Practice:
Erstelle ein Code-Sign Certificate, signiere damit das Outlook Projekt, starte Outlook einmalig mit Administrator-Rechten (Rechtsklick "Als Administrator starten") und setzen im Trustcenter die Option das nur signierte Makros ausgeführt werden.
https://stackoverflow.com/questions/31617344/outlook-not-running-visual- ...
Kommst du ansonsten immer noch nicht klar, darfst du gerne anklopfen und ich erledige dir das gegen Aufwandsentschädigung per Teamviewer.

https://gpsearch.azurewebsites.net/#9637
Mitglied: Akcent
Akcent 17.06.2018 um 09:41:33 Uhr
Goto Top
Best Practice:
Erstelle ein Code-Sign Certificate, signiere damit das Outlook Projekt, starte Outlook einmalig mit Administrator-Rechten (Rechtsklick "Als Administrator starten") und setzen im Trustcenter die Option das nur signierte Makros ausgeführt werden.
https://stackoverflow.com/questions/31617344/outlook-not-running-visual- ...
Signatur erstellt und wie von Dir beschrieben eingebunden. Leider ohne Erfolg.

Da ich hier einen Einzelplatz habe, habe ich nur die Lokale Richtlinie und da gibt es diese Schlüssel nicht.
Mitglied: colinardo
colinardo 17.06.2018 aktualisiert um 09:56:19 Uhr
Goto Top
Zitat von @Akcent:
Signatur erstellt und wie von Dir beschrieben eingebunden. Leider ohne Erfolg.
Tja, wie gesagt ohne mehr Infos vom System (Anpassungen, Addins, Virenscanner, etc. pp) kann ich dir da nicht weiterhelfen, zumal das hier ja noch nicht mal mehr Thema des Threads ist.
Da ich hier einen Einzelplatz habe, habe ich nur die Lokale Richtlinie und da gibt es diese Schlüssel nicht.
Auch in der lokalen Richtlinie kann man diesen Schlüssel benutzen und wirkt dieser selbstverständlich wenn man ihn anlegt! Wenn er aber nicht angelegt ist, gut dann wirkt er auch nicht.

Es gilt weiterhin das o.g. => Teamviewer

Ich tippe zu 95% auf installierte Addins des Virenscanners/Security Suite/Malware Tools bei dir auf dem System.
Das siehst du ganz schnell indem du sämtliche Security-Suites und Tools deaktivierst/deinstallierst und Outlook ohne Addins startest.

Du kannst mir gerne weitere Fragen stellen, aber dann bitte => PN, hier im Thread antworte ich jetzt nicht mehr auf deine Posts. Merci.