E-Mail aus Word (VBA) versenden ohne E-Mail-Client
Gelegentlich möchte man den Versand einer E-Mail in Word, Excel oder überhaupt aus VBA unabhängig von dem auf dem Computer installierten E-Mail-Programm (Client) automatisieren. Das VB Script von → Paul Sadowski kann auch unter VBA eingesetzt werden.
Sub MailVersendenOhneClient()
' nach dem VB Script von Paul Sadowski
Dim objEMail, body
Const sender = "lisa@server.de"
Const receiver = "empfaenger@server.de"
Const subject = "E-Mail-Versand ohne Client"
Const server = "smtp_mail.server.de"
Const user = "lisa@server.de"
Const password = "12345lisa"
Const schema = "http://schemas.microsoft.com/cdo/configuration/"
body = "Das ist der Text der E-Mail."
On Error Resume Next
Set objEMail = CreateObject("CDO.Message")
With objEMail
.From = sender
.To = receiver
.subject = subject
.Textbody = body
.AddAttachment "d:\test\blabla.doc"
With .Configuration.Fields
.Item(schema & "sendusing") = 2
.Item(schema & "smtpserver") = server
.Item(schema & "smtpserverport") = 25
.Item(schema & "smtpauthenticate") = 1
.Item(schema & "smtpusessl") = True
.Item(schema & "sendusername") = user
.Item(schema & "sendpassword") = password
End With
.Configuration.Fields.Update
.Send
End With
Set objEMail = Nothing
If Err.Number <> 0 Then
MsgBox Err.Number & vbCrLf & Err.Description
Else
MsgBox "Mail wurde erfolgreich versendet."
End If
On Error GoTo 0
End Sub