Solved

How to change email body in a newly created exchange.data.transport.email.emailmessage

Posted on 2014-12-16
3
36 Views
Last Modified: 2016-06-14
I had created an exchange transport agent for manipulating incoming email to our exchange 2010 server.
One of its functions is to alert some users, by email, for an email received under specific conditions. So i wrote a code that creates a new email message and saves it in the Pickup folder of the "transportroles", which is working perfectly. However I can not find the way to add/change the body of it since it is read only.
Here is the code:
Public Sub SaveEmailForSend(ByVal FromEmail As String, ByVal TheSubject As String, ByVal theBody As String, ByVal ToEmails As String, Optional ByVal CCEmails As String = "", Optional ByVal BccEmails As String = "", Optional ByVal AttachEmail As EndOfDataEventArgs = Nothing, Optional ByVal FileName As String = "NewEmailToSend")
         
  Dim newEmail As EmailMessage = EmailMessage.Create(BodyFormat.Html)
            Try
                newEmail.From = New EmailRecipient("", FromEmail)
                newEmail.Subject = TheSubject
                ' HERE IS THE PROBLEM
                newEmail.body = TheBody
                ' end of HERE IS THE PROBLEM
                If Not ToEmails Is Nothing Then
                    For Each ToRec In Split(ToEmails, ";")
                        newEmail.To.Add(New EmailRecipient("", ToRec))
                    Next
                End If
                If Not CCEmails Is Nothing Then
                    For Each CCRec In Split(CCEmails, ";")
                        newEmail.Cc.Add(New EmailRecipient("", CCRec))
                    Next
                End If
                If Not BccEmails Is Nothing Then
                    For Each bccRec In Split(BccEmails, ";")
                        newEmail.Bcc.Add(New EmailRecipient("", bccRec))
                    Next
                End If
                If Not AttachEmail Is Nothing Then
                    Dim Attach As Attachment = newEmail.Attachments.Add("RejectedMessage", "message/rfc822")
                    Attach.EmbeddedMessage = AttachEmail.MailItem.Message
                End If
                Dim file As FileStream = New FileStream(reg_SERVER_PICKUP_DIR & FileName & ".eml", FileMode.Create)
                newEmail.MimeDocument.WriteTo(file)
                file.Close()
            Catch e As Exception
                WriteEventLog(e, ErrLevel)
            End Try
        End Sub
0
Comment
Question by:PetrosValsamis
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 

Accepted Solution

by:
PetrosValsamis earned 0 total points
ID: 40504304
solved by my self:

Added the following lines to replace the newemail.body = Thebody :

                Dim newEmail As EmailMessage = EmailMessage.Create(BodyFormat.Html)
                Dim NewBody As Stream = newEmail.Body.GetContentWriteStream()
                NewBody.Write(System.Text.Encoding.Unicode.GetBytes(theBody), 0, Len(theBody))
                NewBody.Flush()
                NewBody.Close()
0
 
LVL 43

Expert Comment

by:Rob
ID: 41652507
Object - cleanup mistake
0

Featured Post

Are your AD admin tools letting you down?

Managing Active Directory can get complicated.  Often, the native tools for managing AD are just not up to the task.  The largest Active Directory installations in the world have relied on one tool to manage their day-to-day administration tasks: Hyena. Start your trial today.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Find out what you should include to make the best professional email signature for your organization.
A list of top three free exchange EDB viewers that helps the user to extract a mailbox from an unmounted .edb file and get a clear preview of all emails & other items with just a single click on mailboxes.
In this video we show how to create a Resource Mailbox in Exchange 2013. We show this process by using the Exchange Admin Center. Log into Exchange Admin Center.: Navigate to the Recipients >> Resources tab.: "Recipients" is our default selection …
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…

695 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question