Components | All | New | MacOS | Windows | Linux | iOS | ||||
Examples | Mac & Win | Server | Client | Guides | Statistic | FMM | Blog | Deprecated | Old |
SendMail.AddAttachmentFile
Adds an attachment to the email based on a file path.
Component | Version | macOS | Windows | Linux | Server | iOS SDK |
SendMail | 4.3 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Parameters
Parameter | Description | Example | Flags |
---|---|---|---|
EmailID | The email reference number obtained using SendMail.CreateEmail function. | $EmailID | |
Path | The native file path to the file to include as attachment. | "/Users/cs/Desktop/sample.pdf" | |
Name | The name for the attachment. If empty, version 6.2 or newer uses file name from file path. |
"sample.pdf" | Optional |
MimeType | The mime type to use. e.g. "application/pdf" for PDF files. If missing, we use "application/octet-stream". Version 6.2 or newer detects mime type from file extension if needed. |
"application/octet-stream" | Optional |
InlineID | The content ID for inline images (CID). Empty text or no parameter gives regular attachment. You define this yourself. Can be just a file name or some uuid, which is then referenced in html with "cid:" prefix in the img src attribute. |
"test.png@3C111B0E.81ED.478A.912C.4B64F538003C" | Optional |
Method | The method for the content-type parameter. Currently only for sending calendar invitiations. |
"REQUEST" | Optional |
Result
Returns OK or error.
Description
Adds an attachment to the email based on a file path.Attachments over 100 MB are not supported.
Version 5 of MBS Plugin can encode file name for preserving non ASCII characters. Still for compatibility it is recommended to use simply ASCII names.
You can use Text.FileExtensionToMimeType to find the mime type for a file extension.
You can use AddAttachment several times to add several attachments.
This function requires a native path. Use Path.FileMakerPathToNativePath to convert a FileMaker path to a native path if required. If you like to have the user choose the path, you can use FileDialog functions.
For Server be aware that server has limited permissions and may not be able to access all files on a computer.
Examples
Add attachment:
Set Variable [$r; Value:MBS("SendMail.AddAttachmentFile"; $EmailID; Attachment::Path; Attachment::Name; Attachment::Type)]
Recursive custom function to add a list of files:
MBSAttachment(EmailID, FilePathList, Flag_inline)
// e.g. $r=MBSattachment ( $EmailID ; MyTable::FilePathList; 1 ) ;
Case(
ValueCount (FilePathList ) > 0;
Let(
[
§element =
ValueCount (FilePathList ) ;
§Line =
GetValue( FilePathList; §element );
§InlineID=
MBS( "Path.LastPathComponent"; §line ) ;
§r=
MBS(
"SendMail.AddAttachmentFile";
EmailID;
§Line;
""; /* file name from path automatically */
""; /* mime name from file name automatically */
Case(
Flag_inline = 1;
§InlineID ;
""
)
)
];
// call recursive for next file:
MBSattachment(
EmailID;
Trim(
Substitute(
"¶" & FilePathList;
"¶" & §Line ;
""
));
Flag_inline
)
);
""
)
See also
- Path.FileMakerPathToNativePath
- Path.LastPathComponent
- SendMail.AddAttachmentContainer
- SendMail.AddAttachmentText
- SendMail.CreateEmail
- SendMail.PrepareCURL
- Text.FileExtensionToMimeType
- WinSendMail.AddAttachmentContainer
- WinSendMail.AddAttachmentFile
- WinSendMail.AddAttachmentText
Release notes
- Version 11.2
- Added optional ContentTypeMethod parameter for SendMail.AddAttachmentContainer, SendMail.AddAttachmentFile and SendMail.AddAttachmentText functions.
Example Databases
- CURL/Email/Batch Emailer
- CURL/Email/Build and send Email
- CURL/Email/Build and send HTML Email with inline graphics
Blog Entries
- Sending email with a huge custom function
- MBS FileMaker Plugin, version 11.2pr1
- Sending emails in FileMaker with MBS Plugin
- MBS FileMaker Plugin, version 6.2pr1
- MBS FileMaker Plugin, version 5.1pr1
- Sending Email with FileMaker via MBS Plugin
FileMaker Magazin
This function checks for a license.
Created 3th September 2014, last changed 13th February 2024
SendMail.AddAttachmentContainer - SendMail.AddAttachmentText