MS-Office-Forum
Google
   

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Outlook (Express), sonst. Mailprogramme
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 12.01.2018, 11:03   #1
duffy6
Neuer Benutzer
Neuer Benutzer
Standard VBA - Sendeaccount / Sendekonto bei Antwort absenderspezifisch wählen

Hallo zusammen,

ich habe ein Exchange-Postfach und habe mehrere Konten (da ich beruflich mit mehreren Adressen senden muss), die aber alle in eine PST arbeiten.
also Kurzfassung: von diversen Mailadressen leite ich auf meine Exchange-Adresse weiter, aber nutze mehrere SMTP-Server zum Senden (deshalb mehrere Konten, da ein Konto nicht mehrere SMTP-Server unterstützt).

Nun meine Frage:
Meine Standard-Sendeadresse ist die Exchange-Adresse (AdresseA).
ABer ich erhalte natürlich Mails von anderen ADressen (AdresseB, AdresseC, etc) - vergleiche oben zum Thema Weiterleitung.
Das funktioniert soweit wunderbar: allerdings wird beim Senden (und vor allem auch beim Antworten) immer die Exchange-Sende-Adresse benutzt.
Ich hätte jetzt gerne zwei Optimierungen:
1)
Wenn ich eine neue Mail an eine bestimmte DOmain sende (bsp: @arbeit.de) soll zum Senden der Account "AdresseB" benutzt werden, bei Mails an die DOmain privat.de dagegen der Account "AdresseC".

UND

2) Wenn ich eine Mail an" AdresseC" erhalte soll beim ANtworten NICHT der Exchange-Account sondern AdresseC
Analog natütlich bei Mails an "AdresseB" den Account "AdresseB".


Ist sowas möglich?
Ich bin nämlich leider ein VBA-Anfänger...

Danke und Gruß
duffy6
duffy6 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.01.2018, 14:04   #2
markusxy
MOF Koryphäe
MOF Koryphäe
Standard

Natürlich geht das, aber ohne fundierte Kenntnisse macht das wenig Sinn.
Abgesehen davon müssen die Daten gepflegt werden, wofür auch noch entsprechender Code notwendig ist um die Konsistenz zu garantieren.

Der notwendige Aufwand ist ganz ordentlich.
Konzeptuell würde ich jetzt im Stegreif folgendes machen:
Mit dem NewInspector event den MailItem EventListener aktivieren.
Dann muss das Events PropertyChange ausgewertet wenn ein Empfänger ausgewählt wird - um das entsprechende Versandkonto zu wählen.

Hab ich so aber noch nie angewendet - man müsste also etwas herumspielen.

Weiters müssen Forward und Reply ausgewertet werden um einerseits den MailItem EventListener zu aktualisieren und andererseits bei Reply das notwendige Versandkonto zu wählen.

LG Markus

Geändert von markusxy (12.01.2018 um 14:07 Uhr).
markusxy ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.01.2018, 17:45   #3
H_E_K
MOF User
MOF User
Standard

Ich gebe Markus recht. Klar geht das, aber das ist ein ziemlich umfangreiches VBA-Projekt mit einigen Hürden. Für einen VBA-Anfänger drei Nummern zu groß. Und hier musst du schon jemanden überreden, dir die Arbeit abzunehmen.
Konzeptionell - wenn du dich doch da durchwurschteln willst - sieht es so aus:
- du musst per VBA den Moment vor dem Senden abfangen, das wäre am elegantesten,
- dann hast du alle Möglichkeiten, die Mail über die Mail-Item-Eigenschaften zu identifizieren (wo geht sie hin? Ist sie eine Ersterstellung, Antwort oder Weiterleitung? usw.)
- dann musst du das Sendekonto entsprechend zuordnen.

Je nach deinem VBA-Kenntnisstand ist die VBA-Referenz für Outlook da sehr hilfreich, insbesondere das Objektmodell.

__________________

Gruß
Hans


Mit VBA löst du jedes Problem - und schaffst mindestens zwei neue ...
Windows 7 Pro, Windows 10 Home, Office 2013 H&S
H_E_K ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.01.2018, 13:23   #4
halweg
MOF Koryphäe
MOF Koryphäe
Standard

Also bei meinen 10 Konten wird fürs Senden immer das Empfangskonto der vorherigen Nachricht genommen. Das hat dann auch Einfluss auf die automatisch verwendete Signatur.
Ich muss also nur dort manuell eingreifen, wo ich einen neuen Schriftverkehr beginne und dieser nicht über das Standard-Konto laufen soll. Der Aufwand hält sich in Grenzen...

__________________

Windows 7, Windows 10, Office 2002, Office 2010
halweg ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.01.2018, 13:25   #5
H_E_K
MOF User
MOF User
Standard

Zitat: von halweg Beitrag anzeigen

Also bei meinen 10 Konten wird fürs Senden immer das Empfangskonto der vorherigen Nachricht genommen. Das hat dann auch Einfluss auf die automatisch verwendete Signatur.
Ich muss also nur dort manuell eingreifen, wo ich einen neuen Schriftverkehr beginne und dieser nicht über das Standard-Konto laufen soll. Der Aufwand hält sich in Grenzen...

Ja, das dachte ich eigentlich auch. Schlimmstenfalls ein Klick, um einen anderen Absender auszuwählen. Dafür der ganze Aufwand in VBA?

__________________

Gruß
Hans


Mit VBA löst du jedes Problem - und schaffst mindestens zwei neue ...
Windows 7 Pro, Windows 10 Home, Office 2013 H&S
H_E_K ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.01.2018, 18:42   #6
markusxy
MOF Koryphäe
MOF Koryphäe
Standard

Da ich auch verschiedene Mail Adressen mit einer Datendatei verwende hab ich mal einen Code erstellt, der für das Antworten die Empfangsadresse verwendet.

Werde die nächsten Tage mal sehen, ob das zu einwandfrei funktioniert.


Hier der bisherige Code:

Code:

Code aus ThisOutlookSession:
Private Sub i_NewInspector(ByVal Inspector As Inspector)
    With Inspector.CurrentItem
        If .Class = olMail Then
            If .Sent = False Then
                With New CAbsender
                    .Init Inspector.CurrentItem
                End With
            End If
        End If
    End With
End Sub

Code aus der CAbsender Klasse:

Option Explicit

Private Self As CAbsender
Private WithEvents Mail As MailItem

Private Sub Mail_Close(Cancel As Boolean)
    Set Self = Nothing
End Sub

Sub Init(oMail As MailItem)
    Dim X As Object
    
    Dim bFound As Boolean
    Dim i&
    
    Set Self = Me
    Set Mail = oMail
    
    'Bais Mail suchen
    If Mail.Recipients.Count > 0 And Len(Mail.ConversationIndex) > 0 Then
        'Antworten/Weiterleiten über geöffnete Mail 
        On Error Resume Next
        Set X = ActiveInspector.CurrentItem
        If Err = 0 Then
            bFound = IsParentFound(X)

        End If
        
        If bFound = False Then
            'Antworten/Weiterleiten über Selection im Explorer
            Dim oSelection As Selection
            Set oSelection = ActiveExplorer.Selection
            For i = 1 To oSelection.Count
                If IsParentFound(oSelection.Item(i)) Then Exit For
            Next
        End If
    End If
End Sub
Private Function IsParentFound(X As Object) As Boolean
    Dim oAccount As Account
    
    With Mail
        If X.Class = olMail Then
            If X.ConversationIndex = Left(.ConversationIndex, Len(.ConversationIndex) - 10) Then
                IsParentFound = True
                'empfänger Kontofeststellen
                If IsAccountFromRecipits(X.Recipients, oAccount) Then
                    Mail.SendUsingAccount = oAccount
                End If
            End If
        End If
    End With
End Function

Private Function IsAccountFromRecipits(oRecipients As Recipients, RAccount As Account) As Boolean
    Dim oRecipient As Recipient
    Dim oAccount As Account
    
    For Each oRecipient In oRecipients
        For Each oAccount In Application.Session.Accounts
            If oRecipient.Address = oAccount.SmtpAddress Then
                Set RAccount = oAccount
                IsAccountFromRecipits = True
                Exit Function
            End If
        Next
    Next
End Function
LG Markus

Edit: Habe jetzt den ganzen Code aus CAbsender eingefügt.
Da bei mehreren Mails theoretisch eine zusätzliche Collection für die Klassen erforderlich wäre, verwende ich vorerst die self Variable als Zeiger auf das Objekt.

Die Möglichkeiten der Automatisierung in Outlook ist mit VBA auf jeden Fall unbefriedigend.
Aus meiner Sicht wäre es viel einfacher in Access ein komplett unabhängiges Formular zu erstellen, und alles von dort aus zu steuern.
Damit wäre eine saubere Steuerung möglich.

Geändert von markusxy (13.01.2018 um 19:18 Uhr).
markusxy ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.01.2018, 20:25   #7
halweg
MOF Koryphäe
MOF Koryphäe
Standard

Zitat: von markusxy Beitrag anzeigen

Da ich auch verschiedene Mail Adressen mit einer Datendatei verwende hab ich mal einen Code erstellt, der für das Antworten die Empfangsadresse verwendet.

Ich habe auch nur eine pst-Datei für verschiedene Konten...
Du hast nicht zufällig die Option "Immer vom Standardkonto senden" aktiviert?

__________________

Windows 7, Windows 10, Office 2002, Office 2010
halweg ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.01.2018, 20:30   #8
markusxy
MOF Koryphäe
MOF Koryphäe
Standard

Zitat: von halweg Beitrag anzeigen

Ich habe auch nur eine pst-Datei für verschiedene Konten...
Du hast nicht zufällig die Option "Immer vom Standardkonto senden" aktiviert?

Ich verwende Exchange, daher keine PST Datei.
Es gibt da nur die Einstellung des Standard Kontos über das immer versandt wird.
Wo sollte ich die Option finden? Ich kenne sie nicht.
Warum fragst du überhaupt?
markusxy ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.01.2018, 21:08   #9
H_E_K
MOF User
MOF User
Standard

Zitat: von markusxy Beitrag anzeigen

Ich verwende Exchange, daher keine PST Datei.
Es gibt da nur die Einstellung des Standard Kontos über das immer versandt wird.
Wo sollte ich die Option finden? Ich kenne sie nicht.
Warum fragst du überhaupt?

Das hat mit der .pst-Datei nichts zu tun, sondern ist Teil der Einstellungen in Outlook. Bei 2013 zum Beispiel hier:

__________________

Gruß
Hans


Mit VBA löst du jedes Problem - und schaffst mindestens zwei neue ...
Windows 7 Pro, Windows 10 Home, Office 2013 H&S
H_E_K ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.01.2018, 12:38   #10
markusxy
MOF Koryphäe
MOF Koryphäe
Standard

Zitat: von halweg Beitrag anzeigen

Ich habe auch nur eine pst-Datei für verschiedene Konten...
Du hast nicht zufällig die Option "Immer vom Standardkonto senden" aktiviert?

Also die Option gibt es in meiner Version scheinbar wirklich noch nicht.
Es wird also immer mit dem Standardkonto versandt.

Warum fragst du?
markusxy ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.01.2018, 13:58   #11
halweg
MOF Koryphäe
MOF Koryphäe
Standard

Zitat: von markusxy Beitrag anzeigen

Warum fragst du?

Nun schon zum zweiten Mal diese in einem Forum relativ irritierende Rückfrage an einen Helfer

Es liegt ja auf der Hand, dass das genau die Option ist, die dir helfen würde, eine nicht ganz triviale Makrolösung zu vermeiden.
Ich denke, hier wäre nun auch ein guter Zeitpunkt, das langgehegte Geheimnis der von dir verwendeten Outlook-Version zu lüften
(Oder habe ich etwas überlesen?)

__________________

Windows 7, Windows 10, Office 2002, Office 2010
halweg ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.01.2018, 14:08   #12
H_E_K
MOF User
MOF User
Standard

Zitat: von halweg Beitrag anzeigen

Ich denke, hier wäre nun auch ein guter Zeitpunkt, das langgehegte Geheimnis der von dir verwendeten Outlook-Version zu lüften
(Oder habe ich etwas überlesen?)

Nee, haste nicht. Aber ich meine, selbst in meinem früheren Outlook 2003 hätte es diese Option gegeben.

__________________

Gruß
Hans


Mit VBA löst du jedes Problem - und schaffst mindestens zwei neue ...
Windows 7 Pro, Windows 10 Home, Office 2013 H&S
H_E_K ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.01.2018, 15:20   #13
markusxy
MOF Koryphäe
MOF Koryphäe
Standard

@halweg, 2007. So jetzt ist das Geheimnis gelüftet.
markusxy ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.01.2018, 15:23   #14
halweg
MOF Koryphäe
MOF Koryphäe
Standard

OK, ich habe gerade kein Office 2007 da, aber glaube mich zu erinnern, dass diese Option bei 2002 da war. Sie gibt es in Outlook 2010, in Outlook 2016. Auch in Exchange-Umgebungen.

__________________

Windows 7, Windows 10, Office 2002, Office 2010
halweg ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.01.2018, 16:02   #15
H_E_K
MOF User
MOF User
Standard

Zitat: von markusxy Beitrag anzeigen

@halweg, 2007. So jetzt ist das Geheimnis gelüftet.

Hilft dir das hier?:
[http://www.*************************235066_0_0_asc.php
Link klappt nicht, wird zerschossen, also:
Webadresse von office-loesung.de, dann "ftopic235066_0_0_asc.php"

__________________

Gruß
Hans


Mit VBA löst du jedes Problem - und schaffst mindestens zwei neue ...
Windows 7 Pro, Windows 10 Home, Office 2013 H&S

Geändert von H_E_K (15.01.2018 um 16:07 Uhr).
H_E_K ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:14 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.