?
Solved

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

Posted on 2014-12-16
3
Medium Priority
?
41 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

Office 365 Training for Admins - 7 Day Trial

Learn how to provision tenants, synchronize on-premise Active Directory, implement Single Sign-On, customize Office deployment, and protect your organization with eDiscovery and DLP policies.  Only from Platform Scholar.

Question has a verified solution.

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

After hours on line I found a solution which pointed to the inherited Active Directory permissions . You have to give/allow permissions to the "Exchange trusted subsystem" for the user in the Active Directory...
New style of hardware planning for Microsoft Exchange server.
In this video we show how to create a Shared Mailbox in Exchange 2013. We show this process by using the Exchange Admin Center. Log into Exchange Admin Center.: First we need to log into the Exchange Admin Center. Navigate to the Recipients >> Sha…
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…
Suggested Courses

770 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