Maildoorsturen met originele afzender in de body

Status
Niet open voor verdere reacties.

gpiket7

Gebruiker
Lid geworden
25 jul 2008
Berichten
169
Hoe kan ik via een knop/macro een emaildoorsturen naar een vast emailadres "support@test.nl"
Waarbij in de body een tekst toeovoeg als bovenste regel "#original_sender{sender_email}" waarbij {sender_email} het originele mailadres is van de verstuurder
 
Dat kan via: MailItem.SenderEmailAddress
 
Hi Edmoor,

Ik heb nu de volgende code, het mailadres wordt echter niet toegevoegd, alleen de tekst "#original_sender{}", zonder mailadres


Code:
Sub HelpdeskNewTicket()
Dim helpdeskaddress As String
Dim objMail As Outlook.MailItem
Dim strbody As String
Dim oldmsg As String
helpdeskaddress = "support@test.nl"

Set objItem = GetCurrentItem()
Set objMail = objItem.Forward

strbody = "#original_sender{" & senderaddress & "}" & vbNewLine & vbNewLine & objItem.Body

objMail.To = helpdeskaddress
objMail.Subject = objItem.Subject
objMail.Body = strbody

objMail.Display

Set objItem = Nothing
Set objMail = Nothing
End Sub

---------------------------------------------------------------------------

Function GetCurrentItem() As Object
Dim objApp As Outlook.Application
Set objApp = Application
On Error Resume Next
Select Case TypeName(objApp.ActiveWindow)
Case "Explorer"
Set GetCurrentItem = _
objApp.ActiveExplorer.Selection.Item(1)
Case "Inspector"
Set GetCurrentItem = _
objApp.ActiveInspector.CurrentItem
Case Else
End Select
End Function
 
Laatst bewerkt:
Ik zie ook niet in je code wat ik liet zien.
Daarnaast dien je code hier in codetags te plaatsen.
 
En als toevoeging hierop, ook de lay-out van de forward mail wordt helemaal gewijzigd, wat kan ik daar aan doen?
 
Ik heb eigenlijk geen idee hoe ik deze hierin zou moeten toepassen. De code heb ik tussen de tags geplaatst nu.
 
Zoals ik al liet zien, maar dan uiteraard voor het door jou gebruikte object:
Code:
Sub HelpdeskNewTicket()
    Dim helpdeskaddress As String
    Dim objMail As Outlook.MailItem
    Dim strbody As String
    Dim oldmsg As String
    
    helpdeskaddress = "support@test.nl"
    
    Set objitem = GetCurrentItem()
    Set objMail = objitem.Forward
    
    strbody = "#original_sender{" & [COLOR="#FF0000"]objitem.SenderEmailAddress[/COLOR] & "}" & vbNewLine & vbNewLine & objitem.Body
    
    objMail.To = helpdeskaddress
    objMail.Subject = objitem.Subject
    objMail.Body = strbody
    
    objMail.Display
    
    Set objitem = Nothing
    Set objMail = Nothing
End Sub

Function GetCurrentItem() As Object
    Dim objApp As Outlook.Application
        Set objApp = Application
        On Error Resume Next
        Select Case TypeName(objApp.ActiveWindow)
            Case "Explorer"
                Set GetCurrentItem = _
            objApp.ActiveExplorer.Selection.Item(1)
                Case "Inspector"
                Set GetCurrentItem = _
                objApp.ActiveInspector.CurrentItem
            Case Else
        End Select
End Function
 
Top dank je wel, dit werkt nu. Nu wordt de mail als string volgens mij weergegeven, dus de gehele opmaak / tabel gaat verloren.
Hoe kan ik hier de code wijzigen dat de lay out gewoon origineel blijft? Dat is mijn laatste vraag :d
 
Hier niet, maar zet dit er eens bij:
Code:
objMail.BodyFormat = olFormatPlain
Net voor:
Code:
objMail.Body = strbody
 
Het is me gelukt.

Code:
objMail.HTMLBody = strbody & objMail.HTMLBody
 
Bij het doorsturen van een email wordt de afzender toch automatisch meegestuurd ?
Dit lijkt me een 100% overbodige aktie.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan