Outlook: Automatisierte Mailweiterleitung an Empfänger aus Betreff
Email-Weiterleitung an einen Empfänger, dessen Adresse im Betreff steht
Hallo zusammen,
ich nutze Outlook 2000 mit einem Exchange-Server. Mein PC läuft ständig. Ich benötige nun ein Makro, das eingehende Emails auf einen bestimmten Betreff überprüft und dann die Email an einen Empfänger weiterleitet, dessen Email-Adresse im Betreff steht.
Beispiel:
Mein Outlook erhält eine Email von Absender@absender.de.
Betreff: W: Endnutzer@endnutzer.de
Mein Outlook soll nun diesen Betreff auswerten und dann an Endnutzer@endnutzer.de weiterleiten.
Vielen Dank,
Michael Fieber.
Hallo zusammen,
ich nutze Outlook 2000 mit einem Exchange-Server. Mein PC läuft ständig. Ich benötige nun ein Makro, das eingehende Emails auf einen bestimmten Betreff überprüft und dann die Email an einen Empfänger weiterleitet, dessen Email-Adresse im Betreff steht.
Beispiel:
Mein Outlook erhält eine Email von Absender@absender.de.
Betreff: W: Endnutzer@endnutzer.de
Mein Outlook soll nun diesen Betreff auswerten und dann an Endnutzer@endnutzer.de weiterleiten.
Vielen Dank,
Michael Fieber.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 49005
Url: https://administrator.de/forum/outlook-automatisierte-mailweiterleitung-an-empfaenger-aus-betreff-49005.html
Ausgedruckt am: 02.02.2025 um 03:02 Uhr
11 Kommentare
Neuester Kommentar
Private Sub MailWeiterleiten()
Dim objOut As Outlook.Application
Set objOut = New Outlook.Application
Dim objNameSpace
Set objNameSpace = GetNamespace("MAPI")
Dim objMailFolder As Outlook.MAPIFolder
Set objMailFolder = objNameSpace.GetDefaultFolder(olFolderInbox)
Dim objEmail As Outlook.MailItem
Dim objRec As String
For i = 1 To objMailFolder.Items.Count
Set objEmail = objMailFolder.Items.Item(i)
Set myForward = objEmail.Forward
objRec = objEmail.Subject
myForward.Recipients.Add objRec
myForward.Send
Next i
End Sub
Grüsse, Desperado
Dim objOut As Outlook.Application
Set objOut = New Outlook.Application
Dim objNameSpace
Set objNameSpace = GetNamespace("MAPI")
Dim objMailFolder As Outlook.MAPIFolder
Set objMailFolder = objNameSpace.GetDefaultFolder(olFolderInbox)
Dim objEmail As Outlook.MailItem
Dim objRec As String
For i = 1 To objMailFolder.Items.Count
Set objEmail = objMailFolder.Items.Item(i)
Set myForward = objEmail.Forward
objRec = objEmail.Subject
myForward.Recipients.Add objRec
myForward.Send
Next i
End Sub
Grüsse, Desperado
Hi,
hm.. ich glaube mit diesen Laufzeitfehlern kann niemand etwas anfangen ;) An welcher Code-stelle tritt das denn auf? Er müsste ja per Debug zu der Zeile springen...
Grüsse, Desperado
ah moment.. wie genau heisst dein betreff? da darf in meinem codesample NUR die email-adresse stehen, ansonsten wie du oben geschrieben hast "W: Endnutzer@endnutzer.de" müsstest du noch folgende zeile ändern:
objRec = Replace(objEmail.Subject, "W: ", "")
hm.. ich glaube mit diesen Laufzeitfehlern kann niemand etwas anfangen ;) An welcher Code-stelle tritt das denn auf? Er müsste ja per Debug zu der Zeile springen...
Grüsse, Desperado
ah moment.. wie genau heisst dein betreff? da darf in meinem codesample NUR die email-adresse stehen, ansonsten wie du oben geschrieben hast "W: Endnutzer@endnutzer.de" müsstest du noch folgende zeile ändern:
objRec = Replace(objEmail.Subject, "W: ", "")
hi, nein, eigentlich nicht. wenn der fehler kommt, kannst du nicht auf "debuggen" klicken? dann gehst du mit der maus über das wort objRec der Zeile
myForward.Recipients.Add objRec
ein tooltip zeigt dir dabei den wert an. ich nehme an, dass immer noch die email-adresse nicht stimmt.
hast du vielleicht noch andere emails im eingang, die KEINE email-adresse enthalten? ;) dann müsstest du ein eindeutiges kennzeichen in den betreff setzen, wie zb.:
Betreff: DoForward:email@email.com
und pro mail dann den betreff danach prüfen.
mach den code mal rein und sach mir, was in den messageboxen steht:
Private Sub MailWeiterleiten()
Dim objOut As Outlook.Application
Set objOut = New Outlook.Application
Dim objNameSpace
Set objNameSpace = GetNamespace("MAPI")
Dim objMailFolder As Outlook.MAPIFolder
Set objMailFolder = objNameSpace.GetDefaultFolder(olFolderInbox)
Dim objEmail As Outlook.MailItem
Dim objRec As String
For i = 1 To objMailFolder.Items.Count
Set objEmail = objMailFolder.Items.Item(i)
Set myForward = objEmail.Forward
objRec = objEmail.Subject
MsgBox objRec
myForward.Recipients.Add objRec
myForward.Send
Next i
End Sub
myForward.Recipients.Add objRec
ein tooltip zeigt dir dabei den wert an. ich nehme an, dass immer noch die email-adresse nicht stimmt.
hast du vielleicht noch andere emails im eingang, die KEINE email-adresse enthalten? ;) dann müsstest du ein eindeutiges kennzeichen in den betreff setzen, wie zb.:
Betreff: DoForward:email@email.com
und pro mail dann den betreff danach prüfen.
mach den code mal rein und sach mir, was in den messageboxen steht:
Private Sub MailWeiterleiten()
Dim objOut As Outlook.Application
Set objOut = New Outlook.Application
Dim objNameSpace
Set objNameSpace = GetNamespace("MAPI")
Dim objMailFolder As Outlook.MAPIFolder
Set objMailFolder = objNameSpace.GetDefaultFolder(olFolderInbox)
Dim objEmail As Outlook.MailItem
Dim objRec As String
For i = 1 To objMailFolder.Items.Count
Set objEmail = objMailFolder.Items.Item(i)
Set myForward = objEmail.Forward
objRec = objEmail.Subject
MsgBox objRec
myForward.Recipients.Add objRec
myForward.Send
Next i
End Sub