Topics   All   MacOS (Only)   Windows (Only)   Linux (Only, Not)   iOS (Only, Not)  
Components   Crossplatform Mac & Win   Server   Client   Old   Deprecated   Guides   Examples   Videos
New in version: 10.1   10.2   10.3   10.4   10.5   11.0   11.1   11.2   11.3   11.4    Statistic    FMM    Blog  


Queries an attachment property.

Component Version macOS Windows Linux Server iOS SDK
EmailParser 5.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes ✅ Yes
MBS( "EmailParser.Attachment"; EmailID; Index; Selector { ; Extra } )   More


Parameter Description Example Flags
EmailID The ID fo the email parser. $Email
Index The index from 0 to EmailParser.AttachmentCount-1. 0
Selector Which value to return. Can be Filename, MimeType, MimeVersion, ContentType, ContentTransferEncoding, ContentDisposition, ContentDescription, contentId, text or container. "Filename"
Extra For selector = container, you can pass an alternative file name.
For selector = text, you can pass text encoding here.


Returns value or error.


Queries an attachment property.
You can query for example the file name or the mime type.
For storing in a container, you can query the container property. The attachment is decoded by the plugin.

If you need to directly write to a file, you can use the EmailParser.WriteAttachment function.
You can use Text.MimeTypeToFileExtension to find the file extension for mime type.


Copy all attachments into records:

#find all attachments
Set Variable [$i; Value:0]
Set Variable [$c; Value:MBS("EmailParser.AttachmentCount"; $email)]
If [$c > 0]
    Go to Related Record [Show only related records; From table: “Attachment”; Using layout: “Attachment” (Attachment)]
    Go to Layout [“Attachment” (Attachment)]
    Delete All Records [No dialog]
        Set Variable [$Name; Value:MBS("EmailParser.attachment"; $email; $i; "filename")]
        Set Variable [$content; Value:MBS("EmailParser.attachment"; $email; $i; "container")]
        New Record/Request
        Set Field [Attachment::Content; $content]
        Set Field [Attachment::FileName; $name]
        Set Field [Attachment::EmailID; $EmailRecordID]
        Commit Records/Requests [Skip data entry validation; No dialog]
        Set Variable [$i; Value:$i + 1]
        Exit Loop If [$i = $c]
    End Loop
End If

See also

Release notes

Example Databases

Blog Entries

Created 24th September 2015, last changed 14th July 2019

EmailParser.AttachedEmails - EmailParser.AttachmentCount

Feedback: Report problem or ask question.

MBS Xojo Plugins

Start Chat