Hallo liebe Forumsgemeinde,
ich habe schon seit längeren mir eine Funktion in vb6 Programmiert die mir ein E-Mail generiert. Ich habe jedoch noch das Problem das meine Vorlage(Signatur) nicht berücksichtigt wird. Das generierte E-Mail beinhaltet nur den Inhalt den ich auch in .BodyText geschrieben habe. Leider hat mir auch nicht die offizielle DvAPI32 Schnittstellendoku weitergeholfen.
Eine höchst unelegante Lösung wäre die Vorlage in einen String einlesen und nachträglich in den .BodyText schreiben.
Hat vielleicht jemand von euch Erfahrung mit der DvAPI32 Schnittstelle ?
Code
Public Function SendeTobitMail(ByVal pEMailAdr As String, _
ByVal pEMailAdrCC As String, _
ByVal pSubject As String, _
ByRef pHtmlDoc As String, _
ByRef pTextDoc As String, _
ByVal pAttachFileName As String, _
ByVal pAttachDisplayName As String, _
ByVal pSofortSenden As Boolean, _
ByVal pFileList As String, _
Optional ByVal RequestReadReceipt As Boolean = False) As Boolean
Dim Step As Long
Dim lngAttachCnt As Long
Dim i As Long
Dim strAttachFileList() As String
Dim objTobit As DvApi32.IApplication
Dim objAccount As DvApi32.Account
Dim objArchive As DvApi32.Archive
Dim objMailItem As DvApi32.MailItem
Dim objAttachment As DvApi32.Attachment
Dim L As Long
On Error GoTo ErrorHandler
Step = 20
Set objAccount = objTobit.Logon("", "", "", "", "", "AUTH")
Set objArchive = objAccount.GetSpecialArchive(DvApi32.DvArchiveTypes.DvArchivePersonalOut)
Set objMailItem = objArchive.NewItem(DvApi32.DvItemTypes.DvEMailItem)
With objMailItem
Step = 30
L = objMailItem.Recipients.Add(pEMailAdr, "MAIL", "")
Step = 30
If Len(pEMailAdrCC) > 0 Then
L = objMailItem.Recipients.Add(pEMailAdrCC, "MAIL", "")
End If
Step = 40
.Subject = pSubject
.ReadReceiptRequested = RequestReadReceipt
Step = 50
If Len(pHtmlDoc) > 0 Then
.BodyText.HTMLText = pHtmlDoc
End If
Step = 60
If Len(pTextDoc) > 0 Then
.BodyText.PlainText = pTextDoc
End If
Step = 70
If Len(pAttachFileName) > 0 Then
lngAttachCnt = 1
End If
If Len(pAttachDisplayName) = 0 Then
modStart.SplitPath pAttachFileName, "", "", pAttachDisplayName, "", ""
End If
Step = 80
If lngAttachCnt > 0 Then
Set objAttachment = objMailItem.Attachments.Add(pAttachFileName, pAttachDisplayName)
End If
If Len(pFileList) > 0 Then
strAttachFileList() = Split(pFileList, ";", , vbBinaryCompare)
For i = 0 To UBound(strAttachFileList(), 1)
If strAttachFileList(i) <> vbNullString Then
lngAttachCnt = lngAttachCnt + 1
Set objAttachment = objMailItem.Attachments.Add(strAttachFileList(i), "")
End If
Next i
End If
End With
Step = 90
If pSofortSenden Then
objMailItem.Send
Else
objMailItem.Options.UserHold = True
objMailItem.Send
End If
Alles anzeigen