Dieser Beitrag ist schon älter. Bitte vergewissern Sie sich, dass die Rahmenbedingungen oder der enthaltene Lösungsvorschlag noch dem aktuellen Stand der Technik entspricht.

E-Mail-Attachment automatisiert speichern

Mitglied: Atti58
Folgende Situation: Wir bekommen jeden Tag nach 19:30 Uhr (so lange will natürlich niemand bleiben ;-) face-wink ) per E-Mail eine Datei als Anhang zugeschickt, die per Gruppenrichtlinie gesteuert, am nächsten Morgen unseren Usern automatisch angezeigt werden muss - solange der Admin die Datei rechtzeitig in's entsprechende Verzeichnis kopieren konnte, ist alles gut :-( face-sad ...

Jetzt suche ich nach einer Möglichkeit, diesen Vorgang zu automatisieren, kennt jemand ein Tool, mit dem man E-Mailanlagen automatisch speichern kann?

Danke,

Atti.

Content-Key: 6604

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

Ausgedruckt am: 23.09.2021 um 05:09 Uhr

Mitglied: linkit
linkit 07.02.2005 um 18:55:18 Uhr
Goto Top
@Atti:


Hallo mein Freund :-) face-smile .... mh... du hast jetzt nicht geschrieben, wie die Datei abgefangen werden soll, bereits im Mailserver oder in Outlook oder einem anderen E-Mail-Programm.


Ich gehe jetzt mal davon aus, daß du Outlook benutzt. Ich hab dir für Outlook zwei Möglichkeiten - eine kostenlose und eine payment.


1. Kostenlos:

Du hast ein Skript hinterlegt in Outlook, das ankommende E-Mails mit Anhang ablegt, wie sowas aussehen könnte findest du hier: http://www.digital-inn.de/showthread.php?t=28483


2. Payment:

Mit dem Tool http://www.rsbr.de/Software/OASniffer/index_deu.htm kannst du E-Mails automatisch abfangen und in einem bestimmten Verzeichnis ablegen. Das sieht man dann auf dieser Seite: http://www.rsbr.de/Software/OASniffer/details/de/auto.htm



Bei beiden Methoden kannst du es ja gleich ins richtige Verzeichnis ablegen lassen, damit die Gruppenrichtlinie es dann ansteuern kann.
Mitglied: Atti58
Atti58 07.02.2005 um 20:15:52 Uhr
Goto Top
@linkit

... ich fühle mich geehrt ;-) face-wink :-) face-smile ... und danke Dir für Deine Antwort, das Tool habe ich mir schon mal angesehen, das macht einen recht guten Eindruck, ich muss nur mal testen, wie das arbeitet und ob Outlook dazu geöffnet sein muss. Mit VB habe ich leider nicht so viel am Hut, na, mal sehen, vielleicht kann mein Chef ja damit was anfangen ... hast Du eine Ahnung, was "bst" mit "... muß der Code HINTER DieseOutlookSitzung stehen ..." meinte?

Danke

Atti
Mitglied: gemini
gemini 07.02.2005 um 20:22:56 Uhr
Goto Top
Wenn du in Outlook mit Alt+F11 den VBA-Editor aufmachst findest du DieseOutlookSitzung im Verzeichnisbaum.

Hier muss der Code rein.
Allerdings wird das nicht funktionieren, wenn Outlook geschlossen ist.

Dann besteht nämlich das Problem mit dem Zugriffsschutz auf die PST.
D.h. wenn ein 3rd-Party-Programm zugreifen will, kommt eine Abfrage ob und wie lange Zugriff gewährt werden soll.
Mitglied: Atti58
Atti58 07.02.2005 um 20:37:54 Uhr
Goto Top
... ah, danke, hab's gefunden. Wie ich das realisieren könnte, weiß ich noch nicht, Outlook kann schon geöffnet bleiben, wenn ich die Arbeitsstation sperre ... na, morgen schau ich mir das mal an ;-) face-wink ...

Gruß

Atti.
Mitglied: Atti58
Atti58 24.02.2005 um 11:45:59 Uhr
Goto Top
Ich habe jetzt folgenden Code im Outlook:


Option Explicit

Const strFolder = "C:\Temp"
Const strArchFolder = "C:\Temp\Arch"

'
' newmail-Ereignis
' Tritt ein, wenn mindestens eine neue Nachricht im Posteingang eingegangen ist.
'

Private Sub Application_NewMail()
Dim myNameSpace As NameSpace ' ein NameSpace Objekt halt
Dim objPosteingang As MAPIFolder ' der Posteingang im Outlook
Dim myDstFolder As MAPIFolder ' der ZielOrdner im Outlook
Dim objNewMail As MailItem ' ein Objekt (Mail) im Posteingang
Dim i As Integer ' Zähler durch die Anhänge


' Namespace und Folder bestimmen
Set myNameSpace = Application.GetNamespace("MAPI")
Set objPosteingang = myNameSpace.GetDefaultFolder(olFolderInbox)
Set myDstFolder = objPosteingang.Folders("BackOffice")
Set objPosteingang = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)


' Schleife über alle im Posteingang liegenden Elemente
For Each objNewMail In objPosteingang.Items
With objNewMail ' Mit einem dieser Teile
If (.SenderName = "BackOffice") Then
' Dessen Anhänge - falls vorhanden - abspeichern
For i = 1 To .Attachments.Count
.Attachments.Item(i).SaveAsFile strFolder & "\" & .Attachments.Item(i).FileName
.Attachments.Item(i).SaveAsFile strArchFolder & "\" & "Dateiname_" & Format(Date, "yy_mm_dd") & ".rtf"
'End If
Next i
' Die Mail in den Zielordner verschieben
objNewMail.Move myDstFolder
End If
End With
Next objNewMail
End Sub


Das Programm läuft auch soweit ganz gut, nur, wenn eine standardmäßige Lesebescheinigung im Postfach landet, erscheint:

<img src='/images/articles/072e9620cceb4400714d7c31eef40a01-VBError.jpg' align='default' hspace='0' vspace='0' border='0'>

Hat jemand eine Idee, was der Unterschied zwischen "normalem" Mailobjekt und Lesebestätigung ist?

Danke,

Atti.
Mitglied: gemini
gemini 02.03.2005 um 18:54:27 Uhr
Goto Top
Hallo Atti,
hast du das Attachment-Problem schon gelöst?
Wo tritt der Mismatch denn auf? Was spricht der Debuger?
~~~~~~~~~~~~~~~~~~~~~~
Evtl. könnte das auch was passendes sein.
Hätte den Vorteil schon fertig ausprogrammiert zu sein ;-) face-wink
http://www.add-in-world.com/katalog/ol-autosave/
Mitglied: Atti58
Atti58 02.03.2005 um 21:21:50 Uhr
Goto Top
... nein, leider nicht :-( face-sad ... was soll ich zum Debuger sagen? Viel mehr als die Fehlermeldung habe ich nicht, wenn ich auf "End" klicke, ist alles OK - bis zur nächsten Empfangsbestätigung ;-) face-wink ...

Regeln kann ich seit dem Einfügen des Codes übrigens auch nur noch "definieren" - ausgeführt werden sie nicht mehr :-( face-sad ...

Das Tool sehe ich mir morgen mal an ;-) face-wink, vielen Dank,

Gruß

Atti.
Mitglied: gemini
gemini 03.03.2005 um 20:54:31 Uhr
Goto Top
Wenn du auf Debug klickst siehst du wo der Fehler entsteht.
Mit F8 kannst du im VBA-Editor die Routinen im Einzelschritt durchgehen.
Mitglied: Atti58
Atti58 03.03.2005 um 21:04:36 Uhr
Goto Top
Hi Gemini,

klar hab' ich mir den Debugger mal angesehen ;-) face-wink - der Zeiger steht in einer dieser beiden Zeilen:

For Each objNewMail In objPosteingang.Items
With objNewMail ' Mit einem dieser Teile


(wenn ich nicht irre, hab das gerade nicht da), habe das Tool heute auf dem Rechner von meinem Chef getestet - mit dem gleichen Ergebnis. Merkwürdigerweise hat sich am "Outlookverhalten" ein bisschen was geändert - manche Mails werden inwischen wieder von den Regeln verschoben und dann kommt auch keine Fehlermeldung bei den Bestätigungen.

Morgen werd' ich das Problem wohl erst einmal nicht mehr lösen und dann bin ich bis Ostern im URLAUB ...

Gruß

Atti
Mitglied: rike1979
rike1979 08.04.2005 um 07:26:27 Uhr
Goto Top
Hallo Paps,

ich weiß ja nicht, ob Dein Problem noch besteht, aber ich hab da was bei Heise gefunden, was Dir weiterhelfen könnte.

Schaum mal unter http://www.heise.de/kiosk/archiv/ct/01/20/008/@/art.htm bei "Outlook schweigt" nach.


Liebe Grüße

Rike

PS.: In dem Artikel "Outlook schweigt" gibt es einen Link, der ist aber nicht mehr aktuell. Hab mal gesucht und den gefunden http://www.heise.de/ct/01/22/222/default.shtml.

Viel Glück
Mitglied: Atti58
Atti58 08.04.2005 um 11:16:57 Uhr
Goto Top
Hi Rike,

danke für den Link,wie es aussieht, klappt das mit der Programmänderung - zumindest mit "normalen" Mails (mir schickt gerade niemend 'ne Lesebestätigung ;-) face-wink :-) face-smile ) ...

Folgende Änderung habe ich vorgenommen:

In "Dim objNewMail As MailItem"

habe ich "MailItem" durch "Oject" ersetzt, also

neu: "Dim objNewMail As Object".

Ursache ist wohl folgende (Zitat:) face-smile "Lesebestätigungen werden von Outlook makrotechnisch als `ReportItem´-Objekte behandelt, während Nachrichten `MailItem´-Objekte darstellen"

Gruß

Atti
Mitglied: Atti58
Atti58 08.04.2005 um 15:28:29 Uhr
Goto Top
... man liest meine Mails wieder - und leider habe ich auch den "Debug"- Aufruf auf dem Monitor :-( face-sad ...

Gruß

Atti
Mitglied: rike1979
rike1979 11.04.2005 um 08:50:12 Uhr
Goto Top
Hallo Papa,

eine Möglichkeit wäre meines Wissens die nette Zeile "On Error Resume Next" nach der Deklaration der Variablen einzufügen, also sollte der Code dann so aussehen.

Option Explicit

Const strFolder = "C:\Temp"
Const strArchFolder = "C:\Temp\Arch"

'
' newmail-Ereignis
' Tritt ein, wenn mindestens eine neue Nachricht im Posteingang eingegangen ist.
'

Private Sub Application_NewMail()
Dim myNameSpace As NameSpace ' ein NameSpace Objekt halt
Dim objPosteingang As MAPIFolder ' der Posteingang im Outlook
Dim myDstFolder As MAPIFolder ' der ZielOrdner im Outlook
Dim objNewMail As MailItem ' ein Objekt (Mail) im Posteingang
Dim i As Integer ' Zähler durch die Anhänge


' Namespace und Folder bestimmen
Set myNameSpace = Application.GetNamespace("MAPI")
Set objPosteingang = myNameSpace.GetDefaultFolder(olFolderInbox)
Set myDstFolder = objPosteingang.Folders("BackOffice")
Set objPosteingang = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)

On Error Resume Next

' Schleife über alle im Posteingang liegenden Elemente
For Each objNewMail In objPosteingang.Items
With objNewMail ' Mit einem dieser Teile
If (.SenderName = "BackOffice") Then
' Dessen Anhänge - falls vorhanden - abspeichern
For i = 1 To .Attachments.Count
.Attachments.Item(i).SaveAsFile strFolder & "\" & .Attachments.Item(i).FileName
.Attachments.Item(i).SaveAsFile strArchFolder & "\" & "Dateiname_" & Format(Date, "yy_mm_dd") & ".rtf"
'End If
Next i
' Die Mail in den Zielordner verschieben
objNewMail.Move myDstFolder
End If
End With
Next objNewMail
End Sub

Da ich heute einen Tag Urlaub habe, werde ich mal schaun, ob ich das zum Laufen bekomme. Aber vielleicht geht es ja auch schon so, also versuch es mal und sag Bescheid.

Liebe Grüße

Rike

PS.: Hab gestern mit Dietmar gescrabbelt *grins* und natürlich verloren :-( face-sad
Mitglied: Atti58
Atti58 11.04.2005 um 09:20:34 Uhr
Goto Top
Hi Rike,

danke, ich werde es mal probieren mit dem "Resume Next" ... gebe Dir dann 'ne Info.

Gruß

Vati

PS: Mit uns scrabbelt er nicht mehr, seit er vor zwei Wochen vor "Wut" die Verbindung gekappt hat ;-) face-wink :-) face-smile ... er hat "ET" gelegt und wollte "ON" partut nicht zulassen :-) face-smile :-) face-smile ...
Mitglied: Atti58
Atti58 11.04.2005 um 09:40:41 Uhr
Goto Top
... ich habe gerade festgestellt (nachdem mein Chef mir über zwanzig Lesebestätigungen geschickt hat), dass die Meldung weg ist - auch ohne "On Error Resume Next ... Man musste wohl die Maschine einfach nur mal Neu booten :-( face-sad ...

Gruß
Mitglied: rike1979
rike1979 11.04.2005 um 10:01:25 Uhr
Goto Top
Also hat das mit dem Ersetzen von MailItem durch Object ausgereicht?

Ich hab es bei mir noch gar nicht zum Laufen bekommen, naja wird schon noch werden.

Von Eurem Scrabble - Ärger wurde mir schon berichtet, naja er hat bei mir gestern auch nicht "tu" akzepiert, da hab ich nur geschrieben "Tu doch nicht so!!!" - aber was solls :-) face-smile


Liebe Grüße Rike
Mitglied: Atti58
Atti58 11.04.2005 um 11:27:14 Uhr
Goto Top
... ja, seit "Object" und Reboot läuft das Tool ohne Fehlermldung, man muss nur dafür sorgen, dass Outlook offen ist ,-) ...

Ich habe gestern mit Dietmar telefoniert - das Thema "Scrabble" habe ich aber tunlichst vermieden :-) face-smile ...

liebe Grüße,

Vati
Heiß diskutierte Beiträge
tip
Outlook 2019 Konto hinzufügen - Kein Benutzername mehr bei IMAP Einstellungen - LösungFrankVor 1 TagTippOutlook & Mail32 Kommentare

Eine weitere Kuriosität unter Office 2019 ist bei mir gerade hart aufgeschlagen. Ich wollte ein normales IMAP/SMTP Konto zu Outlook 2019 hinzufügen. Das war aber ...

question
Dienst-PCs per Image sichern?Yan2021Vor 1 TagFrageBackup17 Kommentare

Hallo Ihr Lieben ;-) So, Urlaub vorbei und schon kommt mal wieder eine Frage von mir. Wir haben hier so rund gerechnet 10 PCs. Da ...

general
VPN-Einwahl für UnternehmensnetzwerkjoergVor 1 TagAllgemeinLAN, WAN, Wireless12 Kommentare

Hallo zusammen, aktuell beschäftige ich mich mit der Frage, ob unsere aktuelle User-VPN-Lösung noch die Richtige ist oder ob es bessere Alternativen gibt. Wir setzen ...

question
Webseite signierenUserUWVor 1 TagFrageInternet9 Kommentare

Gelegentlich möchte man auf einer Webseite kritische Daten veröffentlichen, zum Beispiel Checksummen von Dateien/Programmen oder den Fingerprint eines Schlüssels. Frage: Wie kann man diese Information ...

question
"Aktualisieren und Herunterfahren" nach Windows Update erzwingenFrM222Vor 1 TagFrageWindows Update7 Kommentare

Hallo Zusammen, wir verteilen unsere Windows Updates über WSUS (2016) und haben hier inzwischen eigentlich einen ganz guten Stand. Die Updates werden sehr zügig auf ...

question
Hyper-V VHDX Festplatte verkleinern ratsam gelöst nixwissenderVor 1 TagFrageWindows Server9 Kommentare

Moin! Ich beabsichtige, eine VHDX-Festplatte um ca. 100GB zu verkleinern. Das Vorgehen ist klar, ist es aber ratsam? Dazu habe ich unterschiedliche Meinungen und wollte ...

question
Überspringen ErsteinrichtungHendrik2586Vor 1 TagFrageWindows 106 Kommentare

Moin, moin meine Lieben. Heute mal ein Problem mit dem sich bestimmt schon etliche von euch rumgeschlagen haben. Kurz zur Umgebund des Kunden. DC: Windows ...

question
Unternehmensnetzwerk aufbauenbluelightVor 13 StundenFrageNetzwerke9 Kommentare

Moin zusammen, erstmal vielen Dank an der Stelle, dass mir beim letzten mal so super geholfen wurde! Aktuelle Situation: -> 5 VMs bei Netcup -> ...