Topics   All   Mac OS X (Only)   Windows (Only)   Linux (Only, Not)   iOS (Only, Not)  
Components   Crossplatform Mac & Win   Server (Not)   Client   Old   Guides   Examples
New in version: 6.3   6.4   6.5   7.0   7.1   7.2   7.3   7.4   7.5   7.6    Statistic  

SendMail.AddAttachmentFile

Adds an attachment to the email based on a file path.

Component Version macOS Windows Server FileMaker Cloud FileMaker iOS SDK
SendMail 4.3 Yes Yes Yes Yes Yes

MBS( "SendMail.AddAttachmentFile"; EmailID; Path { ; Name; MimeType; InlineID } )

Parameters

Parameter Description Example value
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 Optional
The name for the attachment.
If empty, version 6.2 or newer uses file name from file path.
"sample.pdf"
MimeType Optional
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"
InlineID Optional
The content ID for inline images (CID).
Empty text or no parameter gives regular attachment.
"test.png@3C111B0E.81ED.478A.912C.4B64F538003C"

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

Example Databases


SendMail.AddAttachmentContainer   -   SendMail.AddAttachmentText

Feedback: Report problem or ask question.




Links
MBS Xojo Chart Plugins