mima89
Goto Top

Outlook - Mehrere E-Mails gleichzeitig mit einem vorgegebenen Text beantworten

Hallo Zusammen,
wir haben momentan folgende Konstellation:

Die Personalabteilung muss täglich mehrere hundert Mails (Bewerbungen) beantworten und hätte dazu gerne eine Möglichkeit die Mails gleichzeitig mit einem vorgegebenen Text zu beantworten (ohne den ursprünglichen Betreff zu ändern und den Bewerber persönlich! anzusprechen). Also nicht alle in CC oder ähnliches.
Am besten direkt aus einem Unterordner (z.B. Ordner: abgelehnte Bewerbungen) heraus.

Kann auch durch ein kostenpflichtiges Tool realisiert werden.

Hat jemand einen Tipp oder etwa How-To's auf Lager?


Vielen Dank!

Gruß.

Content-ID: 244445

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

Ausgedruckt am: 25.11.2024 um 12:11 Uhr

colinardo
Lösung colinardo 23.07.2014, aktualisiert am 05.08.2014 um 07:51:01 Uhr
Goto Top
Hallo MiMa89,
Tools dafür gibt es haufenweise, z.B. das hier http://www.outlook-apps.com/product/bells-whistles-for-outlook/

Alternativ und kostenlos wäre ein einfaches Makro, das diese Aufgabe für dich erledigt:
Das hier würde für alle markierten Nachrichten in einem beliebigen Ordner eine vorgefertigte Antwort und eine persönliche Anrede hinzufügen und dann verschicken.
Das ist jetzt nur ein einfaches Beispiel wie man es machen könnte. Die vorgefertigte Nachricht könnte man auch aus einer Textdatei auslesen und dann einfügen lassen, und hinterher die bearbeiteten Mails automatisch verschieben. Dem Spieltrieb sind hier kaum grenzen gesetzt face-wink Das Makro könnte man dann einfach einem Button in Outlook zuweisen.
Sub BewerbungenBeantworten()
    Dim ex As Explorer, mail As MailItem, itm as Object
    Set ex = ActiveExplorer
    If ex.Selection.Count > 0 Then
        For Each itm In ex.Selection
            If itm.Class = olMail Then
                Set mail = itm.Reply
                mail.Body = "Sehr geehrte(r) Frau/Herr " & itm.SenderName & "," & vbNewLine & _  
                            "Wir bedanken uns für Ihre Bewerbung! Leider müssen wir Ihnen mitteilen das sie nicht in unsere engere Auswahl gekommen sind." & _  
                            "Wir wünschen Ihnen trotzdem alles gute für Ihre persönliche und berufliche Laufbahn." & vbNewLine & vbNewLine & _  
                            "Mit freundlichen Grüßen" & vbNewLine & _  
                            "Ihre Firma XYZ" & _  
                            vbNewLine & mail.Body
                'mail.Display  
                mail.Send
            End If
        Next
    Else
        MsgBox "Sie haben keine Elemente ausgewählt", vbExclamation  
    End If
End Sub
Grüße Uwe
nikoatit
nikoatit 23.07.2014 um 12:40:56 Uhr
Goto Top
Moin,

hört sich für mich wie ein "billiger" Autoresponder an!
Schau mal hier http://www.lmdfdg.at/?q=email+autoresponder+tool
Und das E-Mail verschieben könntest du auch "billig" über Regeln lösen.

Gruß
MiMa89
MiMa89 23.07.2014 um 15:39:12 Uhr
Goto Top
Genau so etwas haben wir gesucht !!! face-smile

Es erfüllt genau den Zweck, den wir nutzen wollen.


Nur ein Problem besteht dabei, evtl. gibt es dafür eine Lösung.

Die Personalabteilung verwaltet zusammen ein gemeinsames Postfach, welche nur als Vollzugriff in deren Outlookkonten gemappt sind.
Ich habe es bereits getestet, solange man nicht der richtige Besitzer des Postfachs ist (nicht nur Vollzugriff), sendet er die Mails nicht, bzw reagiert das Script nicht darauf.

Lässt sich dies auch noch umgehen?


@nikoatit
So etwas haben wir nicht ganz gesucht, aber dennoch Danke für die Hilfe!


Gruß
colinardo
colinardo 23.07.2014 aktualisiert um 21:18:45 Uhr
Goto Top
Nur ein Problem besteht dabei, evtl. gibt es dafür eine Lösung.
Die Personalabteilung verwaltet zusammen ein gemeinsames Postfach, welche nur als Vollzugriff in deren Outlookkonten gemappt sind.
Ich habe es bereits getestet, solange man nicht der richtige Besitzer des Postfachs ist (nicht nur Vollzugriff), sendet er die Mails nicht, bzw reagiert das Script nicht darauf.
Habe es jetzt hier mal auf einem Outlook 2013 in Kombination mit einem EX2010 probiert und funktioniert einwandfrei mit einem Benutzer der auf das Postfach Vollzugriff hat und keine "Senden als" Berechtigung, man muss den Damen aber mindestens das Recht Im Auftrag von ... der Shared Mailbox zu senden, dann funktioniert es.

Wenn das Hinzufügen des Rechts Im Auftrag senden oder Senden als bei euch nicht in Frage kommt, muss man im Code den Account angeben mit der der User die Nachricht versenden soll.
In diesem Beispiel wird dafür der Standardaccount des Nutzers genommen, der Empfänger sieht dann natürlich die Mail-Adresse der Mitarbeiterin, dass sollte dir in diesem Fall dann klar sein:
Sub BewerbungenBeantworten()
    Dim ex As Explorer, mail As MailItem, itm As Object, acc As Account
    Set ex = ActiveExplorer
    Set acc = Application.Session.Accounts(1)
    If ex.Selection.Count > 0 Then
        For Each itm In ex.Selection
            If itm.Class = olMail Then
                Set mail = itm.Reply
                mail.Body = "Sehr geehrte(r) Frau/Herr " & itm.SenderName & "," & vbNewLine & _  
                            "Wir bedanken uns für Ihre Bewerbung! Leider müssen wir Ihnen mitteilen das sie nicht in unsere engere Auswahl gekommen sind." & _  
                            "Wir wünschen Ihnen trotzdem alle gute für Ihre persönliche und berufliche Laufbahn." & vbNewLine & vbNewLine & _  
                            "Mit freundlichen Grüßen" & vbNewLine & _  
                            "Ihre Firma XYZ" & _  
                            vbNewLine & mail.Body
                mail.SendUsingAccount = acc
                mail.Sender = acc.CurrentUser.AddressEntry
                mail.Send
            End If
        Next
    Else
        MsgBox "Sie haben keine Elemente ausgewählt", vbExclamation  
    End If
End Sub
Grüße Uwe
MiMa89
MiMa89 24.07.2014 um 07:31:21 Uhr
Goto Top
Im Auftrag von oder Senden als kommt bei uns wirklich nicht in Frage.

Wo genau muss ich die E-Mail Adresse eintragen, ich bekomme immer ein Kompilierfehler.


Gruß und Danke für die großartige Hilfe! face-smile
colinardo
colinardo 24.07.2014 aktualisiert um 13:17:37 Uhr
Goto Top
Zitat von @MiMa89:
Wo genau muss ich die E-Mail Adresse eintragen, ich bekomme immer ein Kompilierfehler.
obiges Beispiel nimmt ja auch wie geschrieben nur den Default Account des Users.
Um eine andere Mailadresse zu verwenden mit der der User die Mail verschickt (er muss natürlich das Recht haben mit dieser Adresse zu senden!) kannst du mal folgendes nehmen: (Mailadresse in Zeile 5 eintragen)
Option Compare Text

Sub BewerbungenBeantworten()
    Dim ex As Explorer, mail As MailItem, itm As Object, acc As Account, senderAddress As AddressEntry
    Set ex = ActiveExplorer
    For Each acc In Application.Session.Accounts
        If acc.SmtpAddress like "mail@domain.de" Then  
            Set senderAddress = acc.CurrentUser.AddressEntry
        End If
    Next
    If senderAddress Is Nothing Then
        MsgBox "Sender-Adresse wurde nicht gefunden!", vbExclamation  
        Exit Sub
    End If
    
    If ex.Selection.Count > 0 Then
        For Each itm In ex.Selection
            If itm.Class = olMail Then
                Set mail = itm.Reply
                mail.Body = "Sehr geehrte(r) Frau/Herr " & itm.SenderName & "," & vbNewLine & _  
                            "Wir bedanken uns für Ihre Bewerbung! Leider müssen wir Ihnen mitteilen das sie nicht in unsere engere Auswahl gekommen sind." & _  
                            "Wir wünschen Ihnen trotzdem alle gute für Ihre persönliche und berufliche Laufbahn." & vbNewLine & vbNewLine & _  
                            "Mit freundlichen Grüßen" & vbNewLine & _  
                            "Ihre Firma XYZ" & _  
                            vbNewLine & mail.Body
                mail.Sender = senderAddress
                mail.Send
            End If
        Next
    Else
        MsgBox "Sie haben keine Elemente ausgewählt", vbExclamation  
    End If
End Sub
Grüße Uwe
MiMa89
MiMa89 24.07.2014 um 12:53:31 Uhr
Goto Top
Hallo,
die Konstellation funktioniert leider nur wenn ich mich mit dem richtigen Account (Windows-Anmeldung, Outlook, etc...) anmelde face-sad


Ich habe einen Test-Postfach angelegt und meinen Account Voll berechtigt (auch Senden Als) und es kommt immer nur die Fehlermeldung "Sender-Adresse wurde nicht gefunden".


Die Personalabteilung kann sich leider nicht jedes mal ab und anmelden.

Gruß Micha
colinardo
colinardo 24.07.2014 aktualisiert um 13:20:48 Uhr
Goto Top
Es wäre mal angebracht zu erwähnen mit welchem Account die Mails geschickten werden sollen und ob der User überhaupt das Recht hat mit dieser Adresse zu senden !! Ich kann das alles nicht hellsehen ich kenne eurer Konstellation nicht ... Danke. Überprüfe auch Groß und Kleinschreibung der Mail-Adresse (habe das aber oben nochmal korrigiert).

Habe jetzt schon einige Varianten gepostet, da sollte eine Variante für euch dabei sein... sorry. Läuft hier problemlos.

Viel Erfolg
Grüße Uwe
MiMa89
MiMa89 28.07.2014 um 10:03:50 Uhr
Goto Top
Achso tut mir leid, ich dachte das wäre nun klar gewesen.

Hier nochmal die Erklärung / Zusammenfassung:


Ich "micha@e-mail.de" habe Vollzugriff (über Exchange) auf das Konto "test@e-mail.de" und wird auch automatisch in mein Outlook (2010) gemappt.

Ich möchte direkt über das Konto "test@e-mail.de" die E-Mails über das Script beantworten und das auch in der Signatur "test@e-mail.de" steht.
Also nicht im Namen bzw. im Auftrag von, sondern als ob ich der "test@e-mail.de" Besitzer wäre.


Die erste Variante funktioniert auch, aber eben nur ein meinem Namen und nicht mit dem "test..." Account.


Danke!
colinardo
colinardo 28.07.2014 aktualisiert um 10:30:01 Uhr
Goto Top
Ich möchte direkt über das Konto "test@e-mail.de" die E-Mails über das Script beantworten und das auch in der Signatur "test@e-mail.de" steht.
Dann bleibt dir nur deinem Account das Recht Senden als auf diese Mailbox zu erteilen, ganz einfach. Nur Vollzugriff reicht hier nicht, das Senden als Recht muss zusätzlich erteilt werden ! Standardmäßig hat nur der Besitzer des Postfaches dieses Recht. Lässt sich aber ganz einfach über die Exchange Management Konsole oder via Powershell CMDLet einrichten.

Danke!
Bitte.
MiMa89
MiMa89 28.07.2014 um 14:37:07 Uhr
Goto Top
Ich verstehe es einfach nicht...


"test@e-mail.de" auf dem Exchange ausgewählt und "Senden-Als" und Vollzugriff dem Konto "micha@e-mail.de" erteilt.

micha@e-mail.de Outlook gestartet und im Script in Zeile 5 "test@e-mail.de" eingetragen.


Sobald ich versuche das Script auszuführen -> "Sender-Adresse wurde nicht gefunden" obwohl das Postfach definitiv vorhanden ist!
face-sad
Was zum Teufel mache ich falsch?
colinardo
Lösung colinardo 28.07.2014, aktualisiert am 04.08.2014 um 10:12:15 Uhr
Goto Top
Du nimmst ja auch die falsche Variante für diese Konstellation mit Senden als. Hier musst du die erste gepostete Variante nehmen !!! Dabei ist keine Angabe einer Mailadresse nötig weil das Postfach hier automatisch seine eigene Adresse auswählt.
MiMa89
MiMa89 04.08.2014 um 10:16:42 Uhr
Goto Top
Hallo,
die Perso meldet sich nun direkt als User an und schickt darüber per VBA-Script die Antworten, vielen Dank für die Hilfe !!!! face-smile)


Eins hätte ich da aber noch:


Ich möchte die Zeile
mail.Body = "Sehr geehrte(r) Frau/Herr " & itm.SenderName & "," & vbNewLine & _

so abändern, dass der Sendername nicht automatisch mit in die Mail genommen wird, dass sieht irgendwie unschön aus.


Da soll nur sowas stehen wie "Sehr geehrter(-e) Bewerber(-in), ...


Ich ändere die Zeile dann auf
mail.Body = "Sehr geehrter/-e Bewerber/-in" & vbNewLine & _ ab und wenn ich das Script ausführen möchte, passiert nichts.


Was mache ich falsch?


Danke und Gruß
colinardo
Lösung colinardo 04.08.2014, aktualisiert am 05.08.2014 um 07:50:54 Uhr
Goto Top
Zitat von @MiMa89:
Ich ändere die Zeile dann auf
mail.Body = "Sehr geehrter/-e Bewerber/-in" & vbNewLine & _ ab und wenn ich das Script ausführen
möchte, passiert nichts.
Was mache ich falsch?
Der Code ist soweit OK. ohne alle Zeilen deines Codes für den Body-Inhalt kann ich hier den Fehler bei dir nicht erkennen. Setze Breakpoints im VBA-Editor, dann wirst du deinen Fehler schon finden ...
Das & _ ist dafür gedacht um die Zeile über mehrere Zeilen übersichtlicher im Code darzustellen. Vermutlich hast du in einer deiner Zeilen ein & _ zuviel eingebaut.

Ich empfehle auch mal folgende Seiten:
back-to-topVBA/VBS/WSH/Office Developer Referenzen
MiMa89
MiMa89 05.08.2014 um 07:55:17 Uhr
Goto Top
Alles klar, da war wirklich ein _ zu Viel eingebaut.


Ich hatte Leerzeichen bzw. "_" in den Namen stehen, deswegen konnten die Scripte nicht ausgeführt werden.
Nun sind keine derartigen Sonderzeichen enthalten.


Nun aber wieder mal ein Problem^^

Hatte die Scripte dann neu als Module angelegt und funktionierten auch direkt nach dem anlegen.
Sobald ich aber VB schließe und ausführen möchte, funktioniert es aber nicht.

Wenn ich dann VB öffne und Oben auf "Makro ausführen" klicke, funktionierts.


So, wo liegt der Fehler?


Danke nochmals und Gruß! face-smile
colinardo
Lösung colinardo 05.08.2014, aktualisiert am 06.08.2014 um 16:18:28 Uhr
Goto Top
So, wo liegt der Fehler?
du musst es schon auf einen Button legen und mit dem Makro verknüpfen. Wenn du das schon getan hast und zwischenzeitlich die Prozedur in ein Modul verschoben hast, musst du natürlich unbedingt die Verknüpfung des Button auf die neue Position des Makros aktualisieren !

ThisOutlookSession.BewerbungenBeantworten ist was anderes als Modul1.BewerbungenBeantworten !

Grüße Uwe
MiMa89
MiMa89 06.08.2014 um 16:20:13 Uhr
Goto Top
Hallo,
ja irgendwie durfte ich die Module nicht umbenennen.

Die habe ich nun so gelassen und einfach per Makro ins Outlook eingefügt und es funktioniert ;)


Die Abteilung ist mit der neuen Lösung sehr, sehr, zufrieden.


Ich bedanke mich für die tolle Unterstützung !!! face-smile


Gruß