Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Unterscheidung eingebundene und angehängte Anlagen

Frage Entwicklung Visual Studio

Mitglied: ahstax

ahstax (Level 2) - Jetzt verbinden

06.08.2013 um 14:55 Uhr, 2275 Aufrufe, 8 Kommentare, 4 Danke

Hallo,

gibt es eine Möglichkeit, Anlagen einer E-Mail daraufhin zu überprüfen, ob diese bereits im Mailkörper "eingebunden" verwendet wurden (z.B. als Logo in einer Signatur) oder ob diese Anlage "völlig getrennt" vom Mailkörper ist?

Hintergrund:
Ich möchte eingehende E-Mails drucken, speichere dazu die Mail und die Anlagen getrennt ab. "Eingebundene" Anlagen werden bis dato wie einfach angefügte Dateien behandelt.

Mit diesem Code speichere ich die Anlagen bis jetzt ab:

01.
... 
02.
For i = 1 To intAnlagen 'Anlagen im vordefinierten Verzeichnis sichern 
03.
   objNewMailItem.Attachments.Item(i).SaveAsFile(strMailSpeicherBenennung & "_" & .Attachments.Item(i).FileName) 
04.
Next i 
05.
...
Neugierige Grüße,
Andreas

(Outlook 2010, VB2010Express)
Mitglied: colinardo
06.08.2013 um 15:27 Uhr
Hallo Andreas,
sieh dir diesen Thread mal an, da hatte ich schon eine Lösung dafür präsentiert, jedoch mit einem kostenpflichtigen Plugin.

Grüße @colinardo
Bitte warten ..
Mitglied: ahstax
06.08.2013 um 16:03 Uhr
Hallo colinario,

Danke für Deinen Tipp, ich werde mit das ansehen.

Gibt es vielleicht auch eine kostenfreie Möglichkeit?

Grüße,
Andreas
Bitte warten ..
Mitglied: colinardo
06.08.2013, aktualisiert um 16:31 Uhr
Zitat von ahstax:
Gibt es vielleicht auch eine kostenfreie Möglichkeit?
Nun, man könnte die Attachments identifizieren indem man den HTML-Body auf das vorkommen des Attachment-Filenames prüft. Ist dieser im Body vorhanden sollte es ein Inline-Attachment sein:

Beispiel: (Das MailItem musst du natürlich noch zuweisen)
01.
Dim itm As MailItem 
02.
set itm = ........ 
03.
Dim att As Attachment 
04.
For Each att In itm.Attachments 
05.
    If InStr(1, itm.HTMLBody, att.FileName, vbTextCompare) > 0 Then 
06.
        'Attachment wird im Body verwendet 
07.
        Debug.Print "'" & att.FileName & "' ist ein Inline Attachment!" 
08.
    else 
09.
        'Attachment ist ein richtiger Anhang 
10.
        debug.print "'" att.Filename & "' ist ein richtiges Attachment"  
11.
    End If 
12.
Next
Wenn der Nutzer aber den Dateinamen im Mailtext erwähnt, klappt diese Variante nicht. Hier müsste man dann via Regular Expressions den Inhalt genauer prüfen um z.B. Bilder-Tags (<img.../>) auszufiltern.

Grüße @colinardo
Bitte warten ..
Mitglied: ahstax
07.08.2013 um 16:00 Uhr
Hallo colinardo,

immer wieder begeistert!

Funktioniert so etwas auch mit einem Word-Dokument? Im Moment speicher ich die E-Mail, zu der die fraglichen Anlagen gehören, als olDoc ab...
Allerdings wäre ein Abspeichern sowohl als HTML als auch als olDoc auch möglich mit anschließender Prüfung und "Ausschluss"...

Grüße,
Andreas
Bitte warten ..
Mitglied: colinardo
07.08.2013, aktualisiert um 16:17 Uhr
(nur zur Info das oben war nur VBA zum testen in Outlook)
Die Überprüfung setzt auf den HTML-Code der Mail, da in diesem der Name des Inline-Attachments auftaucht wenn es denn eins ist, du musst also zum überprüfen diesen vorhalten. Mach die Überprüfung vor der Speicherung und verfrachte dort die Attachments in die passenden Ordner.

Grüße Uwe
Bitte warten ..
Mitglied: ahstax
09.08.2013 um 08:52 Uhr
Mir ist da noch was eingefallen.
In der eigentlichen Mail werden als Anlage ja nur diejenigen Anlagen genannt, die "tatsächlich" Anlagen sind. Ist Outlook selbst "klever" genug, um das unterscheiden zu können? Ich nehme mal an, dass man das nicht nutzen kann, sonst müsste man vermutlich den "Umweg" über das oben beschriebene Vorgehen nicht wählen...?
Bitte warten ..
Mitglied: colinardo
09.08.2013 um 12:21 Uhr
Zitat von ahstax:
Mir ist da noch was eingefallen.
In der eigentlichen Mail werden als Anlage ja nur diejenigen Anlagen genannt, die "tatsächlich" Anlagen sind. Ist
Outlook selbst "klever" genug, um das unterscheiden zu können? Ich nehme mal an, dass man das nicht nutzen kann,
sonst müsste man vermutlich den "Umweg" über das oben beschriebene Vorgehen nicht wählen...?
Diese Funktion stellt Outlook den Nutzern leider nicht via Code zur Verfügung...
Bitte warten ..
Mitglied: ahstax
28.11.2013 um 16:14 Uhr
Ich hab da mal noch was gefunden...:
KLICK

ist dann bei mir so geworden:

01.
... 
02.
Dim value1 As String = .Attachments.item(i).PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001E") 
03.
Dim value2 As Long = .Attachments.item(i).PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x37140003") 
04.
  
05.
   If (Not (value1) Is Nothing) Then 
06.
      If (Not (value2) = 4) Then 
07.
          '  "echter" Anhang 
08.
...


Allen beteiligten herzlichen Dank!!!
Bitte warten ..
Ähnliche Inhalte
Vmware
gelöst ESXi .vmdk kann nicht eingebunden werden (13)

Frage von Leo-le zum Thema Vmware ...

Exchange Server
Suche in autom. eingebundenen Postfächern

Frage von corpse2001 zum Thema Exchange Server ...

Exchange Server
Exchange, Anlagen entfernen (10)

Frage von ahstax zum Thema Exchange Server ...

TK-Netze & Geräte
VoIP Anlage - DECT Erweiterung (5)

Frage von Lynkon zum Thema TK-Netze & Geräte ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Windows 10
Seekrank bei Windows 10 (18)

Frage von zauberer123 zum Thema Windows 10 ...

Windows 10
Windows 10 Fall Creators Update Fehler (14)

Frage von ZeroCool23 zum Thema Windows 10 ...

Windows Server
Frage zu Server Rack (9)

Frage von rainergugus zum Thema Windows Server ...