How to remove inbound attachments from message property? - mule

I m using a html form which allows user to enter the details and choose a file to be sent as an attachment with an email via smtp connector in mule. I m using encoding type as- enctype="multipart/form-data" in my html form with method as "post". So all my html fields are coming as inbound attachments and they are being sent as separate 8 attachments in the mail.
Out of the 8 inbound attachments i want to drop 7 attachments and send only one attachment that is the file (highlighted with green) via email. How can i achieve this? Which transformer i should use?
[mule message structure image][1]
![1]: http://i.stack.imgur.com/F9fYu.png

I had similar problem and I found solution. First, you need to copy interesting attachment from inbound to outbound (use copy-attachment tag) and after that you should use transformer email:object-to-mime-transformer with attribute useInboundAttachments set to false. Works for me.

According to me you can drag and drop Attachment transformer after you receive all the attachments and then select Copy Attachment and give value as #[message.inboundAttachments.'file'].
Same to remove you can drag and drop Attachment Transformer and then select RemoveAttchment and then using MEL give attachment name.
#[message.inboundAttachments.'subject']
Hope this helps you !

Related

How to read RFC822 content as plain text?

First thing to note...I have tried a simple doc.computewithform(false,false) and it did not resolve this.
I have an agent set to run after new mail arrives. This agent will do different things depending on the email address it was sent to. Several email addresses are pointed to this mail-in db. So, in order for this to work, I need to read the 'sendto' field on the incoming email. Sometimes this value is plain text, and that works fine. Sometimes, depending on where the email was initiated, the sendto value is RFC822 text. I am hoping to find a way to convert this or extract from it the plain text representation of the sendto address.
I have a local memo form in this database that I could add an #Formula language function to, should one exist (so I could look there after the computewithform call).
If anyone has any ideas, I would be grateful for your input.
Matt
#Name([Abbreviate];SendTo) will extract the text from a field of RFC822 type 'Address'
or
The NotesName class in LotusScript can retrieve any part of a field of type 'RFC822 Text'

How do I use the Outlook Object Model to set the encoding for a single outbound email?

I am using the Outlook object model to send messaegs and some have Japanese characters. The recipient receives them as letters and numbers so I'd like to send these messages using utf-8 encoding. I can configure this for all messages in Outlook Advanced options but would prefer not to change that setting whenever I need to do this (I leave at Western European ISO normally).
How do I create a message and set the encoding? I tried using the InternetCodePage value but that didn't work. The value would be set to 65001 as shown below but as soon as I set the htmlbody property, the value would change to ASCII.
I'm using PowerShell and welcome ideas.
$Mail = $Outlook.CreateItem(0)
$mail.InternetCodepage = "65001"
$Mail.HTMLBody = $HTMLWithJapaneseCharacters
Instead of relying on the right code page for the whole email, all Unicode characters inside the HTML body must be HTML-encoded.

Modify or Disable HTML for "Sales Order - Send by Email" template

How to change Sales Order - Send by Email template, not the text but style of the sent mail.
For example, change header/footer color or if possible completely disable HTML and send all e-mail messages as plain text.
Looks like this is pulling from the Sale Order Notification Email. I went into Settings > Technical > Email > Templates, searched for that Notification Email template and replaced the Content with the following:
${object.body | safe}
This is defined in the paynow and other Views that apply to the mail model.
Look in table mail.message and see which layout it's using.

Getting a list of attachments from RavenDB 2.5

I'm storing several attachments in ravenDB 2.5 and I would like to retrieve not only one attachment by some specific keyname but I want to get a list of all attachments. What I tried to do is to get attachments by the following code sample:
dbCommands.GetAttachmentHeadersStartingWith("keyname/", 0, 100);
But as expected this will return only the attachment headers (metadata) and no attachment data.
Is there a solution to achieve this task?
I know ravenDB 3.0 is coming with a blob store, but as it is unstable at the moment, I dont want to use it.
thanks in advance
You have to download each attachment individually.

How to get mail attachment name while reading mail using mule imap inbound?

currently i am working on one of mule use case where i need create a mule flow which reads mail from gmail account which has an attachment.
Currently i am able to retrieve the attachment data from mail, but i couldn't able to get the mail attachment name.
Can some one help me out to get the attachment name from mail.
Attachments are instances of javax.activation.DataHandler - http://docs.oracle.com/javaee/1.4/api/javax/activation/DataHandler.html
SO you should be able to call .getName() or .name on each attachment using MEL. i.e #[message.inboundAttachments.someattachment.name]
The object you're apply MEL to is an instance of InboundAttachmentMapContext, which is a Map.
So what about using keySet() to get the attachment names or entrySet() to get entries of (name, attachment)?
use #[key], this will give filename inside foreach statement.
Use #[counter] to get the file array no.