MichaK Geschrieben 6. Mai 2003 Geschrieben 6. Mai 2003 Hallo zusammen, ich möchte aus Visual Basic heraus eine eMail an den Standard eMailClient des Benutzers schicken. Bis jetzt benutze ich dazu die "ShellExecute" mit "mailto:" ..... Das Problem ist das an die eMail direkt eine Datei (Pfad ist bekannt) angehängt werden soll. Als Ergebnis soll sich der eMailClient öffnen, es soll eine neue eMail geöffnet werden mit Empfänger, Betreff und ganz wichtig mit ANHANG. Bin für jede Lösung, auch mit kleinerern Umwegen dankbar. MfG MichaK Zitieren
Arnie Geschrieben 6. Mai 2003 Geschrieben 6. Mai 2003 MOIN! Damit arbeite ich immer, habe Dir einfach mal die ganze Funktion rauskopiert, es funzt einwandfrei!!! Function EMail_versenden(MailAdresse As String, MailBetreff As String, MailText As String, Optional WordAttachment As String = "", Optional AttachmentDescribtion As String = "", Optional ProtectDocument As Boolean = True) As Long Dim OutLookApp As New Outlook.Application 'Outlook Applikation Dim OutLookNameSpace As Outlook.NameSpace 'Outlook Postfach Dim OutLookItem As Outlook.MailItem 'Outlook Mail Dim OutLookTempID Dim Ergebnis As Long Dim pMNameLogin As String pMNameLogin = tools.MNameSetzen Ergebnis = 0 On Error GoTo ErrorHandeler_Mail Set OutLookNameSpace = OutLookApp.GetNamespace("MAPI") OutLookTempID = OutLookApp.Application.Session If ProtectDocument And WordAttachment <> "" Then Ergebnis = tools.WordDocSchützen(WordAttachment) If Ergebnis = 0 Or Ergebnis = 4605 Then Ergebnis = 0 Else MsgBox "Dokument konnte nicht geschützt werden, die Aktion wurde abgebrochen", vbOKOnly + vbCritical, "Word- Fehler" Exit Function End If End If Set OutLookItem = OutLookApp.CreateItem(olMailItem) With OutLookItem .To = MailAdresse .Subject = MailBetreff If MailText <> "" Or Not IsNull(MailText) Then .Body = "Anmerkung:" & vbCrLf & MailText & vbCrLf End If .Body = .Body & _ "-----------------------------------------" & vbCrLf & _ "Beliebiger Fußtext" & vbCrLf & vbCrLf If WordAttachment <> "" Then .Attachments.Add WordAttachment, , , AttachmentDescribtion End If End With OutLookItem.Send OutLookNameSpace.Logoff Outlook.Application.Quit EMail_versenden = Ergebnis Exit Function ErrorHandeler_Mail: Ergebnis = err.Number Debug.Print "Fehler: " & Ergebnis & " " & err.Description OutLookNameSpace.Logoff Outlook.Application.Quit Set OutLookItem = Nothing Set OutLookNameSpace = Nothing Set Outlook.Application = Nothing EMail_versenden = Ergebnis End Function MfG Arnie Zitieren
MichaK Geschrieben 6. Mai 2003 Autor Geschrieben 6. Mai 2003 Danke Arnie, ich benötige aber eine Universelle Funktion da ich nicht davon ausgehen kann das der Benutzer Outlook verwendet zumal die meisten unserer Kunden David favoritisieren. Hat jemand ne universelle Funktion? Zitieren
g_nikolai Geschrieben 6. Mai 2003 Geschrieben 6. Mai 2003 also ich hab einen vbSendMail.dll die ich einfach nur weitergeben kann. Allerdings brauchst du auf jedenfall ein Mailserver über den Du senden kannst. ansonsten ist die Dll recht einfach zu handhaben. Guido Zitieren
MichaK Geschrieben 6. Mai 2003 Autor Geschrieben 6. Mai 2003 vbSendMail.dll ist diese vbSendMail.dll Lizenz- und oder kostenpflichtig? Wenn nicht, wo kann ich diese datei downloaden? Zitieren
g_nikolai Geschrieben 6. Mai 2003 Geschrieben 6. Mai 2003 also ich denke nicht das sie etwas kostet. aber sie funktioniert ganz gut. unter http://www.freevbcode.com kannst du sie runterladen, mit Beispiel. Guido Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.