Supportnet / Forum / Datenbanken
E-Mail aus Access aber nicht als Anhang
Frage
Hallo,
kann mit jemand sagen wie aus Access oder generell eine E-Mail versende, aber nicht der Inhalt (Text) als Anhang generiert wird. Sondern direkt z.B. im Outlook ins Inhaltsfenster gestellt wird, als hätte ich die E-Mail von Hand geschrieben.
Vielen Dank im vorraus!
CB
Antwort 1 von Marie
Hab ich mal von Günther Ritter, ist ne API:
Wenn der Aufruf nicht vom
Formular erfolgt, dann Me.hWnd durch 0 ersetzen.
Private Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" _
(ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String,
_
ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Sub testMail()
Dim str As String
str = "mailto:cb@gmx.de?" _
& "subject=API4MAILTO&body=Testmail"
ShellExecute Me.hWnd, vbNullString, str, vbNullString, vbNullString, 0
End Sub
Wenn der Aufruf nicht vom
Formular erfolgt, dann Me.hWnd durch 0 ersetzen.
Private Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" _
(ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String,
_
ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Sub testMail()
Dim str As String
str = "mailto:cb@gmx.de?" _
& "subject=API4MAILTO&body=Testmail"
ShellExecute Me.hWnd, vbNullString, str, vbNullString, vbNullString, 0
End Sub
Antwort 2 von PotzBlitz
Hallo cb,
am einfachsten wäre das mit DoCmd.SendObject in VBA zu erreichen.
Dadurch öffnet sich in Outlook ein neues EMail-Fenster mit den angegebenen Daten. Wenn du allerdings eine EMail direkt versenden willst, ohne sie vorher noch einmal anzeigen zu lassen, dann muss die Outlook-Objektbibliothek eingebunden werden und mit Outlook-eigenen Methoden in VBA die EMail erstellt und versandt werden. Dann können auch Dateien angehängt werden, sofern kein Service Pack 2 oder das berühmte EMail-Sicherheitsupdate installiert ist. Klingt schwierig, ist aber wirklich sehr simpel. Bei Bedarf erstelle ich eine Beispieldatenbank mit einem entsprechenden Formular.
Gruss
PotzBlitz
am einfachsten wäre das mit DoCmd.SendObject in VBA zu erreichen.
DoCmd.SendObject To:="email@adresse.de", _
Subject:="Betreff", _
MessageText:="Nachrichtentext"Dadurch öffnet sich in Outlook ein neues EMail-Fenster mit den angegebenen Daten. Wenn du allerdings eine EMail direkt versenden willst, ohne sie vorher noch einmal anzeigen zu lassen, dann muss die Outlook-Objektbibliothek eingebunden werden und mit Outlook-eigenen Methoden in VBA die EMail erstellt und versandt werden. Dann können auch Dateien angehängt werden, sofern kein Service Pack 2 oder das berühmte EMail-Sicherheitsupdate installiert ist. Klingt schwierig, ist aber wirklich sehr simpel. Bei Bedarf erstelle ich eine Beispieldatenbank mit einem entsprechenden Formular.
Gruss
PotzBlitz

