Components | All | New | MacOS | Windows | Linux | iOS | ||||
Examples | Mac & Win | Server | Client | Guides | Statistic | FMM | Blog | Deprecated | Old |
EmailParser.Attachment
Queries an attachment property.
Component | Version | macOS | Windows | Linux | Server | iOS SDK |
EmailParser | 5.3 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Parameters
Parameter | Description | Example | Flags |
---|---|---|---|
EmailID | The ID fo the email parser. | ||
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. |
Optional |
Result
Returns value or error.
Description
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.
Examples
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]
Loop
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]
#next
Set Variable [$i; Value:$i + 1]
Exit Loop If [$i = $c]
End Loop
End If
See also
- EmailParser.AttachmentCount
- EmailParser.Parse
- EmailParser.WriteAttachment
- Text.MimeTypeToFileExtension
Release notes
- Version 13.2
- Improved EmailParser.Attachment function to better handle PDF documents and return them as PDF container with preview.
- Version 9.3
- Added parameter for EmailParser.Inline or EmailParser.Attachment to pass text encoding or file name.
Example Databases
Blog Entries
- MBS Plugin Advent calendar: 23 - MailParser
- MBS FileMaker Plugin, version 13.2pr2
- MBS FileMaker Plugin, version 9.3pr6
This function is free to use.
Created 24th September 2015, last changed 14th July 2019