Office 365 mails automatisch sorteren in mappenstructuur hdd

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • SupernovaBE
  • Registratie: September 2011
  • Laatst online: 28-06 20:29
Kunnen jullie mij wat in de juiste richting sturen?

Wij zijn opzoek naar een manier om onze mails die verzonden en ontvangen worden automatisch te laten kopiëren in een mappenstructuur op de harde schijf.
In de titel van de mail staat een specifieke code, voor deze code is een map op de server aangemaakt waar alles digitaal bijgehouden wordt.
Nu is dit nog handwerk en zelf sorteren, wat voor veel tijdverlies zorgt.
Is dit op een of andere manier te automatiseren?

Alvast bedankt voor jullie insteek hierin.

Acties:
  • 0 Henk 'm!

  • LucyLG
  • Registratie: December 2018
  • Laatst online: 25-07-2024
Gebruik je outlook?

Dan ga je naar file en onder je account zie je rules en alerts. Daarna wordt het wat complexer, dus eerst even deze vraag.

Acties:
  • +1 Henk 'm!

  • MAX3400
  • Registratie: Mei 2003
  • Laatst online: 27-09 22:07

MAX3400

XBL: OctagonQontrol

Hou er rekening mee dat mails die je "wegkopieert", in een aantal gevallen niet meer alle properties hebben die nodig zijn voor auditing en/of bepaalde bewijslast.

Als de originele mail dan onverhoopt uit de mailbox / backup verdwijnt, heb je wel een issue.

Mijn advertenties!!! | Mijn antwoorden zijn vaak niet snowflake-proof


Acties:
  • +1 Henk 'm!

  • Eppo ©
  • Registratie: Juni 2004
  • Niet online
Mogelijk kan je iets met flow (https://flow.microsoft.com/nl-nl/) doen.

Acties:
  • +2 Henk 'm!

  • Killah_Priest
  • Registratie: Augustus 2001
  • Laatst online: 11-10 16:49
Wat voor mailserver draaien jullie? In het geval van Exchange (of Exchange Online) is het erg makkelijk om dmv een script of simpele applicatie (Windows service) de mails uit de mailbox uit te lezen en de volledige mail (inclusief headers etc) op te slaan. Iedere mail op een Exchange server bevat een property met MIME data, hierin staat letterlijk alle relevante informatie van een mail.

Acties:
  • 0 Henk 'm!

  • SupernovaBE
  • Registratie: September 2011
  • Laatst online: 28-06 20:29
Wij gebruiken momenteel outlook voor ons mailverkeer.
En aangezien we binnenkort mailverkeer van 25 personen moeten beheren hebben we wel wat hulp nodig.

De mailserver draait extern ( Office 365 abonnementen )

Ik bekijk alles wat er gepost wordt en laat dan zeker nog weten welke weg we kiezen.
het belangrijkste is dat de mails + bijlage automatisch verdeeld worden in de juiste mappenstructuur op onze server.
De originele mail moet ook blijven bestaan ( niet verwijderen na sorteren )
Zo kan iedereen aan elke communicatie over het betreffende project.

Nu doen we het zo:
Elke gebruiker stuur zijn mailverkeer ook in BCC naar Digitaal@....
De email's die daar toekomen worden dan mail per mail in de juiste map getrokken.
Ik moet u niet vertellen dat dit alles behalve een leuke en efficiënte manier is.

Acties:
  • +1 Henk 'm!

  • Jazzy
  • Registratie: Juni 2000
  • Laatst online: 22:59

Jazzy

Moderator SSC/PB

Moooooh!

Killah_Priest schreef op woensdag 19 december 2018 @ 10:10:
In het geval van Exchange (of Exchange Online) is het erg makkelijk om dmv een script of simpele applicatie (Windows service) de mails uit de mailbox uit te lezen en de volledige mail (inclusief headers etc) op te slaan.
Als dat echt erg makkelijk is, misschien leuk om een paar voorbeelden aan te dragen. ;)

Exchange en Office 365 specialist. Mijn blog.


Acties:
  • +4 Henk 'm!

  • Killah_Priest
  • Registratie: Augustus 2001
  • Laatst online: 11-10 16:49
Jazzy schreef op woensdag 19 december 2018 @ 10:43:
[...]

Als dat echt erg makkelijk is, misschien leuk om een paar voorbeelden aan te dragen. ;)
Challenge Accepted :)

onderstaande heb ik in 25 minuten in elkaar gezet (kinderen zijn druk dus duurde het wat langer)

PowerShell:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<#
    Simpel scriptje om mails vanaf een Exchange server (en Exchange Online)
     te downloaden en de mime data op te slaan als .eml file.
     de Microsoft.Exchange.WebServices assembly is hiervoor vereist.
     Deze is via Install-Package binnen te halen via Nuget en anders op 
     de Microsoft website en Github terug te vinden.
     Script is gemaakt voor PS versie 5+ en zal niet werken in PS 3 en 4
#>

# laad de EWS assembly
Add-Type -Path "C:\Assemblies\Microsoft.Exchange.WebServices.2.2\lib\40\Microsoft.Exchange.WebServices.dll"
# vraag je credentials op en sla ze op in een variable
$ExchangeCredentials = Get-Credential
# Maak een Exchange Service object aan.
$EX = [Microsoft.Exchange.WebServices.Data.ExchangeService]::new()
# stel de credentials in : aangezien de credentials property een iCredentials object verwacht doe ik een cast.
$EX.Credentials = [System.Net.ICredentials]$ExchangeCredentials
# Doe een autodiscover.. De {$true} is om eventuele certificaat issues te onderdrukken
$EX.AutodiscoverUrl($ExchangeCredentials.UserName,{$true})
# De ItemView bepaalt hoeveel items je terug krijgt bij een FindItems
$ItemView = [Microsoft.Exchange.WebServices.Data.ItemView]::new(10)
# vraag de items op. Ik kies in dit voorbeeld voor de "wellknownfolder" genaamd Inbox
$Items = $EX.FindItems([Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::Inbox,$ItemView)
# Maak de propertySet aan waarmee de Mime contents ingeladen kunnen worden. 
$PropertySet = [Microsoft.Exchange.WebServices.Data.PropertySet]::new([Microsoft.Exchange.WebServices.Data.ItemSchema]::MimeContent)
$PropertySet.Add([Microsoft.Exchange.WebServices.Data.ItemSchema]::DateTimeSent) # Ivm het samenstellen van de filename vraag ik ook de sendDate op
# Loop nu door de items heen...
foreach ($Mail in $Items.Items)
    {
        # Laad de mime properties..
        $Mail.Load($PropertySet)
        # Stel de filename samen - in dit voorbeeld : c:\test\DagMaandJaar-UurMinuutSeconde.eml
        $FileName = [string]::Format('c:\test\{0}.eml',$Mail.DateTimeSent.ToString("ddMMyyyy-hhmmss"))
        # en sla het bestand op...
        [System.IO.File]::WriteAllBytes($FileName,$Mail.MimeContent.Content)
    }


Dit is een simpel voorbeeld : het doet een autodiscover, trekt de laatste 10 mails uit de inbox, laad de mime properties en slaat ze vervolgens op als .eml file.
Een aantal van de mogelijkheden van EWS (welke ik niet in dit script geïmplementeerd heb maar wat ook niet zo lastig is) :
- verbinden met een andere mailbox waar je rechten op hebt
- event subscription aanmaken welke reageert op een NewMail event (dus zodra er een nieuwe mail binnenkomt kun je automatisch een handeling uit laten voeren zoals de mail opslaan).

[ Voor 82% gewijzigd door Killah_Priest op 19-12-2018 19:23 ]


  • LucyLG
  • Registratie: December 2018
  • Laatst online: 25-07-2024
Killah_Priest schreef op woensdag 19 december 2018 @ 18:19:
[...]

Challenge Accepted :)

onderstaande heb ik in 25 minuten in elkaar gezet (kinderen zijn druk dus duurde het wat langer)

PowerShell:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<#
    Simpel scriptje om mails vanaf een Exchange server (en Exchange Online)
     te downloaden en de mime data op te slaan als .eml file.
     de Microsoft.Exchange.WebServices assembly is hiervoor vereist.
     Deze is via Install-Package binnen te halen via Nuget en anders op 
     de Microsoft website en Github terug te vinden.
     Script is gemaakt voor PS versie 5+ en zal niet werken in PS 3 en 4
#>

# laad de EWS assembly
Add-Type -Path "C:\Assemblies\Microsoft.Exchange.WebServices.2.2\lib\40\Microsoft.Exchange.WebServices.dll"
# vraag je credentials op en sla ze op in een variable
$ExchangeCredentials = Get-Credential
# Maak een Exchange Service object aan.
$EX = [Microsoft.Exchange.WebServices.Data.ExchangeService]::new()
# stel de credentials in : aangezien de credentials property een iCredentials object verwacht doe ik een cast.
$EX.Credentials = [System.Net.ICredentials]$ExchangeCredentials
# Doe een autodiscover.. De {$true} is om eventuele certificaat issues te onderdrukken
$EX.AutodiscoverUrl($ExchangeCredentials.UserName,{$true})
# De ItemView bepaalt hoeveel items je terug krijgt bij een FindItems
$ItemView = [Microsoft.Exchange.WebServices.Data.ItemView]::new(10)
# vraag de items op. Ik kies in dit voorbeeld voor de "wellknownfolder" genaamd Inbox
$Items = $EX.FindItems([Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::Inbox,$ItemView)
# Maak de propertySet aan waarmee de Mime contents ingeladen kunnen worden. 
$PropertySet = [Microsoft.Exchange.WebServices.Data.PropertySet]::new([Microsoft.Exchange.WebServices.Data.ItemSchema]::MimeContent)
$PropertySet.Add([Microsoft.Exchange.WebServices.Data.ItemSchema]::DateTimeSent) # Ivm het samenstellen van de filename vraag ik ook de sendDate op
# Loop nu door de items heen...
foreach ($Mail in $Items.Items)
    {
        # Laad de mime properties..
        $Mail.Load($PropertySet)
        # Stel de filename samen - in dit voorbeeld : c:\test\DagMaandJaar-UurMinuutSeconde.eml
        $FileName = \[string]::Format('c:\test\{0}.eml',$Mail.DateTimeSent.ToString("ddMMyyyy-hhmmss"))
        # en sla het bestand op...
        [System.IO.File]::WriteAllBytes($FileName,$Mail.MimeContent.Content)
    }


Dit is een simpel voorbeeld : het doet een autodiscover, trekt de laatste 10 mails uit de inbox, laad de mime properties en slaat ze vervolgens op als .eml file.
Een aantal van de mogelijkheden van EWS (welke ik niet in dit script geïmplementeerd heb maar wat ook niet zo lastig is) :
- verbinden met een andere mailbox waar je rechten op hebt
- event subscription aanmaken welke reageert op een NewMail event (dus zodra er een nieuwe mail binnenkomt kun je automatisch een handeling uit laten voeren zoals de mail opslaan).
Gelukkig is het nu stuk simpeler. Dank u

Op kantoor werden in de Bcc ook folders gezet om zo een verzameling te ordenen dus dat is goed idee.

Acties:
  • 0 Henk 'm!

  • Bastiaan
  • Registratie: November 2002
  • Laatst online: 10-10 20:10

Bastiaan

Bas·ti·aan (de, m)

Misschien dat ik de stap gemist heb, maar is er een reden waarom je niet gewoon een shared mailbox op dat mailadres maakt? Daar kun je gelijk iedereen (of niet) de toegang tot geven die het nodig heeft om de mails op te zoeken en kun je ook met filtering jouw doel halen toch?

Acties:
  • 0 Henk 'm!

  • SupernovaBE
  • Registratie: September 2011
  • Laatst online: 28-06 20:29
Bastiaan schreef op vrijdag 21 december 2018 @ 21:53:
Misschien dat ik de stap gemist heb, maar is er een reden waarom je niet gewoon een shared mailbox op dat mailadres maakt? Daar kun je gelijk iedereen (of niet) de toegang tot geven die het nodig heeft om de mails op te zoeken en kun je ook met filtering jouw doel halen toch?
Zou een idee zijn moest het enkel over mailverkeer gaan.
De mappenstructuur heeft meer inhoud dan enkel e-mails die we er ook willen naartoe brengen.
Oa foto's plannen details offertes facturen ..

Acties:
  • 0 Henk 'm!

  • Jazzy
  • Registratie: Juni 2000
  • Laatst online: 22:59

Jazzy

Moderator SSC/PB

Moooooh!

En, kon je uit de voeten met het voorzetje van @Killah_Priest?

Exchange en Office 365 specialist. Mijn blog.

Pagina: 1