Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

"From" Adresse bei Vba Mailen mit Outlook

Forumthread: "From" Adresse bei Vba Mailen mit Outlook

"From" Adresse bei Vba Mailen mit Outlook
Reinhard
Hallo Wissende,
ich habe den nachstehenden Code zusammengebastelt, klappt bei mir gut, ich hab ja auch nur ein
Postfach.
D.h., bei mir ist meine Adresse bzw. die Rücksendeadresse für den Empfänger mit
.SentOnBehalfOfName = "huhu@eule.de"
korrekt.
Jetzt soll das aber bei jmd. laufen, der da wohl in einem netzwerk eine Art gemeinsames Postfach hat o.ä.
Ich zitiere mal:
"SendOnBehalfOfName ist falsch, dann wird die ausgehende Mail im eigenen Postfach statt in dem der
Shared Distribution Mailbox gespeichert. Kann vielleicht damit zusammenhängen, dass Du keine
verschiedenen Mailboxes hast, bei denen Du Mitglied der DistributionGroup bist.
Dann kommt dieser SendOnBehalfOfName. Wenn der Empfänger dann auf Antworten klickt, kommt die
Mail auch nur bei dem Sender an nicht in der Shared Mailbox"
Wie kann man das anpassen daß es da klappt?
Wie heißt das auf Deutsch sodaß ich da im Internet suchen kann. Hat so ein gemeinses Mailfach einen Namen wie "Posteingang" o.ä.?
Danke & Gruß
Reinhard
Sub Mailen()
Dim olapp As Object, aws As String
Application.DisplayAlerts = False
With ActiveWorkbook
.Save
'optional anzuhängende Datei samt Pfad
aws = .FullName
'Outlook ansprechen
Set olapp = CreateObject("Outlook.Application")
With olapp.CreateItem(0)
.SentOnBehalfOfName = "huhu@eule.de"
'optional Empfängeradresse
.To = "empfänger@server.de"
'optional Kopie an
.cc = "mail1@server.de,mail2@server.de,mail3@server.de"
'optional Blindkopie an
.bcc = "mail1@server.de,mail2@server.de,mail3@server.de"
'optional Betreff
.Subject = "Mein Betreff"
'optional Text
.HtmlBody = "Mein Textinhalt"
'optional Lesebestätigung anfordern
.ReadReceiptRequested = True
'optional mailanhangsDatei
.Attachments.Add aws
'Mail anschauen
.Display
'Mail senden
'.Send
'optional Datei löschen auf Festplatte
'Kill aws
End With
End With
Set olapp = Nothing
Application.DisplayAlerts = True
End Sub

Anzeige
AW: "From" Adresse bei Vba Mailen mit Outlook
02.04.2011 13:53:46
mumpel
Hallo!
SentOnBehalfOfName funtkioniert nur mit einem Exchangeserver. Ohne Exchangeserver ist SendOnehalfOfName wirkungslos. Das es bei Dir funktioniert ist IHMO Zufall, oder hängst Du an einen Exchangeserver?
Gruß, René
AW: "From" Adresse bei Vba Mailen mit Outlook
02.04.2011 15:39:25
Reinhard
Hallo René,
das "SentOnBehalfOfName" habe ich erst kurzfristig im Code und noch nicht mit einer Testmail getestet. Sah aber gut aus im .Display der Mail, da steht die Adresse hinter "Von:...".
Von einem ExchangeServer weiß ich nichts. Ich nutze auch OL nahezu nie, immer nur für so Vba-Dinge die halt meist OL benutzen.
Der bekannten für die ich den Code erstellen hat mir das halt geschrieben als ich ihr schrieb daß ich jetzt was für "From/Von" gefunden häütte.
Was also muß am Code geändert werden sodaß sie oder ein Kollege von ihr die den XL-Code benutzen,
automatisch im Von-Feld bzw. irgednwo in der Mail drinstehen haben daß die Rücksende-Adresse wenn der Empfänger auf "Antworten" geht, ihre bzw. die Adresse des Kollegen ist die die Person im gemeinsamen Postfach haben, oder halt die adresse des Postfachs.
(Ich hab noch nicht ganz durchgeblickt wie das abläuft mit dem mir unbekannten gemainsamen Postfach)
Ich sende jetzt mal mit diesem Code eine Testmail, wo ich bei SentOnBehalfOfName meine Zweitadresse bei gmx angebe.
und schicke die Mail an meien Erstadresse. Dort antworte ich dann und schaue wo die Antwort ankommt.
Wenn du mir dann noch sagst wie ich zweifelsfrei feststellen kann irgendwo in den Einstellungen von OL ob ich da so einen ExChangeserver habe oder nicht, tja nun, dann weißte mehr und ich auch :-)
Danke ^ Gruß
Reinhard
Anzeige
AW: "From" Adresse bei Vba Mailen mit Outlook
02.04.2011 15:59:48
Reinhard
Hallo René,
du hattst Recht, auch wenn durch SentOnBehalfOfName eine "Von"-Adresse in der mail ist, wird sie bei mir nicht erkannte bzw. genutzt als RücksendeAdresse.
(OL 2000)
Gruß
Reinhard
AW: "From" Adresse bei Vba Mailen mit Outlook
02.04.2011 16:13:54
Tino
Hallo,
schau mal hier, vielleicht kannst Du damit was anfangen.
https://www.herber.de/forum/archiv/1056to1060/t1059921.htm#1059958
Andere Lösungen über Outlook sind bei mir alle durchgefallen.
Gruß Tino
Anzeige
AW: "From" Adresse bei Vba Mailen mit Outlook
02.04.2011 18:01:55
Reinhard
Hallo Tino,
danke auch dir. Scheinbar ist da wieder Code wo unabhängig von Ol mit meinem Standardbrowser gesendet wird *freu*.
Ich hab kein Firmennetzwerk oder so ein gemeinsames Emailkonto oder was das ist.
Was ich aber beim Überfliegen deines Links so gelesen habe, speziell irgendwas es wäre ja noch schöner wenn man AN, oder From oder Rücksendeadresse manipulieren will, das verstehe ich Null.
So wie ich bei jedem Onlineshop sagen kann, ich bin der Kunde, also Rechnung an meine Adresse aber Lieferadresse ist da und dort, so will ich das ja auch beim mailen.
Wenn ich ohne je so eine Sammeladresse gehabt zu haben kapiere/vorstelle, haben da paar leute in einem Team da gemeinsam eine Adresse.
Sie schicken also als o eine Mail an Kunden, der Kunde soll beim Beantworten der mail aber nicht persönlich an sie antworten sondern in dieses gemeinsame sammeladresse.
Das hat doch den Riesenvorteil, bin ich in Urlaub sehen das Kollegen in der Sammeladresse und können reagieren. Insofern sehe ich da keine manipulation oder so was.
Aber okay, andere baustelle.
"Andere Lösungen über Outlook sind bei mir alle durchgefallen."
klingt überhaupt nicht gut :-((
Also hoffe ich mal auf den Code von dir der nicht auf OL angewiesen ist, was ich persönlich sowieso bevorzuge.
Gruß
Reinhard
Anzeige
hier was zum spielen.
02.04.2011 19:39:32
Tino
Hallo,
habe mal was zusammengebastelt, kannst ja mal damit rumspielen.
Im Modul1 musst Du diverse Einstellungen treffen.
Ist noch ausbaufähig, habe aber jetzt keine Lust mehr weiterzumachen.
https://www.herber.de/bbs/user/74256.xls
Gruß Tino
Anzeige
AW: hier was zum spielen.
05.04.2011 21:02:07
Reinhard
Hallo Tino,
danke dir.
Ich habe derzeit ein zeitproblem zu "spielen" :-), da ich grad auf paar Vba-baustellen/projekten bin.
Steht aber auf meiner Prioritätenlioste das Senden mit OL bzw. ohne.
Gruß
Reinhard
;
Anzeige
Anzeige

Infobox / Tutorial

"From" Adresse bei VBA Mailen mit Outlook


Schritt-für-Schritt-Anleitung

Um eine E-Mail über VBA in Outlook zu senden und dabei eine "From"-Adresse anzugeben, kannst du den folgenden Code nutzen. Dieser Code funktioniert nur, wenn du über einen Exchange-Server verfügst, da die .SentOnBehalfOfName-Eigenschaft nur dort wirksam ist.

Sub Mailen()
    Dim olapp As Object, aws As String
    Application.DisplayAlerts = False
    With ActiveWorkbook
        .Save
        aws = .FullName
        Set olapp = CreateObject("Outlook.Application")
        With olapp.CreateItem(0)
            .SentOnBehalfOfName = "huhu@eule.de" ' Die Adresse, die als Absender angezeigt wird
            .To = "empfänger@server.de"
            .cc = "mail1@server.de,mail2@server.de,mail3@server.de"
            .bcc = "mail1@server.de,mail2@server.de,mail3@server.de"
            .Subject = "Mein Betreff"
            .HtmlBody = "Mein Textinhalt"
            .ReadReceiptRequested = True
            .Attachments.Add aws
            .Display ' Mail anzeigen
            .Send ' Mail senden
        End With
    End With
    Set olapp = Nothing
    Application.DisplayAlerts = True
End Sub

Häufige Fehler und Lösungen

  1. SentOnBehalfOfName not working: Wenn die .SentOnBehalfOfName-Eigenschaft nicht funktioniert, kann es daran liegen, dass du keinen Exchange-Server verwendest. Stelle sicher, dass du die richtige Serverkonfiguration hast.

  2. Mail wird im eigenen Postfach gespeichert: Wenn die gesendete E-Mail im eigenen Postfach und nicht im gemeinsamen Postfach gespeichert wird, stelle sicher, dass du Mitglied der entsprechenden Distribution Group bist.

  3. Antwortadresse nicht korrekt: Wenn der Empfänger beim Antworten nicht die richtige Adresse sieht, überprüfe die Einstellungen des gemeinsamen Postfachs und ob du die richtigen Berechtigungen hast.


Alternative Methoden

Wenn du keinen Exchange-Server hast oder die .SentOnBehalfOfName-Eigenschaft nicht nutzen kannst, gibt es alternative Lösungen. Du kannst:

  • Outlook VBA Forward Email verwenden: Statt eine neue E-Mail zu erstellen, kannst du eine bereits empfangene E-Mail weiterleiten und dabei die „From“-Adresse anpassen.

  • Gemeinsame Postfächer manuell verwenden: Verwende das gemeinsame Postfach direkt, indem du es als zusätzliches Konto hinzufügst, und sende E-Mails von dort.


Praktische Beispiele

Hier ist ein Beispiel, wie du eine E-Mail von einem gemeinsamen Postfach senden kannst, wenn du diese als zusätzliches Konto konfiguriert hast:

Sub SendFromSharedMailbox()
    Dim olapp As Object
    Set olapp = CreateObject("Outlook.Application")
    With olapp.CreateItem(0)
        .SentOnBehalfOfName = "gemeinsames@postfach.de" ' Adresse des gemeinsamen Postfachs
        .To = "empfänger@server.de"
        .Subject = "Betreff"
        .Body = "Inhalt der E-Mail"
        .Send
    End With
    Set olapp = Nothing
End Sub

Tipps für Profis

  • Verwende die .Display-Methode, um die E-Mail vor dem Senden anzuzeigen. So kannst du sicherstellen, dass alles korrekt ist.

  • Wenn du regelmäßig mit E-Mails über VBA arbeitest, speichere deine häufig verwendeten Einstellungen in Variablen, um den Code sauberer und wartungsfreundlicher zu gestalten.

  • Halte deine Outlook-Version aktuell, um Komplikationen mit VBA-Skripten zu vermeiden.


FAQ: Häufige Fragen

1. Funktioniert die SentOnBehalfOfName-Eigenschaft auch ohne Exchange-Server?
Nein, die SentOnBehalfOfName-Eigenschaft funktioniert nur, wenn du mit einem Exchange-Server verbunden bist.

2. Wie kann ich feststellen, ob ich mit einem Exchange-Server verbunden bin?
Gehe in Outlook zu „Kontoeinstellungen“ und überprüfe die Art deines Kontos. Wenn es sich um ein Exchange-Konto handelt, wird dies dort angezeigt.

3. Was ist ein gemeinsames Postfach?
Ein gemeinsames Postfach ist ein Konto, das von mehreren Benutzern in einem Unternehmen genutzt werden kann, um E-Mails zu senden und zu empfangen, sodass alle Mitglieder des Teams auf die gleichen Informationen zugreifen können.

4. Wie kann ich die Rücksendeadresse ändern?
Die Rücksendeadresse wird in der Regel automatisch auf die Adresse gesetzt, die du in der SentOnBehalfOfName-Eigenschaft angegeben hast, wenn du die richtigen Berechtigungen hast.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige