MBS FileMaker Plugin Example Databases

CURL Send Email with PDF attachments

All examples are included with download of MBS FileMaker Plugin.

CURL Send Email with PDF attachments.fmp12

Overview
Tables1
Relationships0
Layouts1
Scripts1
Value Lists0
Custom Functions0
Custom Menus33
File Options
Default custom menu set[Standard FileMaker Menus]
When opening file
Minimum allowed version12.0
Login usingAccount Name; Account= Admin
Allow user to save passwordOff
Require iOS passcodeOff
Switch to layoutOff
Hide all toolbarsOff
Script triggers
OnFirstWindowOpenOff
OnLastWindowCloseOff
OnWindowOpenOff
OnWindowCloseOff
OnFileAVPlayerChangeOff
Thumbnail Settings
Generate ThumbnailsOn; Temporary

 

Tables

Table Name
Statistics
Occurrences in Relationship Graph
CURL Send Email
11 fields defined, 1 record
CURL Send Email

Fields

Table Name: CURL Send Email - 11 Fields
Field NameTypeOptionsCommentsOn LayoutsIn RelationshipsIn ScriptsIn Value Lists
ServerNormal, TextAuto-Enter:
  • Allow editing
Validation:
  • Only during data entry
Storage:
  • Repetitions: 1
  • Indexing: None
  • Automatically create indexes as needed
  • Index Language: German
      UsernameNormal, TextAuto-Enter:
      • Allow editing
      Validation:
      • Only during data entry
      Storage:
      • Repetitions: 1
      • Indexing: None
      • Automatically create indexes as needed
      • Index Language: German
          PasswordNormal, TextAuto-Enter:
          • Allow editing
          Validation:
          • Only during data entry
          Storage:
          • Repetitions: 1
          • Indexing: None
          • Automatically create indexes as needed
          • Index Language: German
              ToNormal, TextAuto-Enter:
              • Allow editing
              Validation:
              • Only during data entry
              Storage:
              • Repetitions: 1
              • Indexing: None
              • Automatically create indexes as needed
              • Index Language: German
                  FromNormal, TextAuto-Enter:
                  • Allow editing
                  Validation:
                  • Only during data entry
                  Storage:
                  • Repetitions: 1
                  • Indexing: None
                  • Automatically create indexes as needed
                  • Index Language: German
                      SubjectNormal, TextAuto-Enter:
                      • Allow editing
                      Validation:
                      • Only during data entry
                      Storage:
                      • Repetitions: 1
                      • Indexing: None
                      • Automatically create indexes as needed
                      • Index Language: German
                          TextNormal, TextAuto-Enter:
                          • Allow editing
                          Validation:
                          • Only during data entry
                          Storage:
                          • Repetitions: 1
                          • Indexing: None
                          • Automatically create indexes as needed
                          • Index Language: German
                              ResultNormal, TextAuto-Enter:
                              • Allow editing
                              Validation:
                              • Only during data entry
                              Storage:
                              • Repetitions: 1
                              • Indexing: None
                              • Automatically create indexes as needed
                              • Index Language: German
                                  DebugOutputNormal, TextAuto-Enter:
                                  • Allow editing
                                  Validation:
                                  • Only during data entry
                                  Storage:
                                  • Repetitions: 1
                                  • Indexing: None
                                  • Automatically create indexes as needed
                                  • Index Language: German
                                      DebugInputNormal, TextAuto-Enter:
                                      • Allow editing
                                      Validation:
                                      • Only during data entry
                                      Storage:
                                      • Repetitions: 1
                                      • Indexing: None
                                      • Automatically create indexes as needed
                                      • Index Language: German
                                          Image1Normal, BinaryAuto-Enter:
                                          • Allow editing
                                          Validation:
                                          • Only during data entry
                                          Storage:
                                          • Repetitions: 1

                                              Layout Objects: CURL Send Email

                                              Regular Fields

                                              Field Name: CURL Send Email::Server
                                              Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                              • Top: 24 pt
                                              • Left: 138 pt
                                              • Bottom: 38 pt
                                              • Right: 391 pt
                                              • Anchoring: Left, Top
                                              Field Format:
                                              • Edit Box
                                              Field Behavior:
                                              • Allow field to be entered: In Find mode, In Browse mode
                                              • Touch keyboard type: System Default
                                              • Go to next field using: Tab key
                                              Yes

                                              Field Name: CURL Send Email::Username
                                              Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                              • Top: 42 pt
                                              • Left: 138 pt
                                              • Bottom: 56 pt
                                              • Right: 391 pt
                                              • Anchoring: Left, Top
                                              Field Format:
                                              • Edit Box
                                              Field Behavior:
                                              • Allow field to be entered: In Find mode, In Browse mode
                                              • Touch keyboard type: System Default
                                              • Go to next field using: Tab key
                                              Yes

                                              Field Name: CURL Send Email::Password
                                              Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                              • Top: 60 pt
                                              • Left: 138 pt
                                              • Bottom: 74 pt
                                              • Right: 391 pt
                                              • Anchoring: Left, Top
                                              Field Format:
                                              • Edit Box
                                              Field Behavior:
                                              • Allow field to be entered: In Find mode, In Browse mode
                                              • Touch keyboard type: System Default
                                              • Go to next field using: Tab key
                                              Yes

                                              Field Name: CURL Send Email::To
                                              Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                              • Top: 78 pt
                                              • Left: 138 pt
                                              • Bottom: 92 pt
                                              • Right: 391 pt
                                              • Anchoring: Left, Top
                                              Field Format:
                                              • Edit Box
                                              Field Behavior:
                                              • Allow field to be entered: In Find mode, In Browse mode
                                              • Touch keyboard type: System Default
                                              • Go to next field using: Tab key
                                              Yes

                                              Field Name: CURL Send Email::From
                                              Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                              • Top: 96 pt
                                              • Left: 138 pt
                                              • Bottom: 110 pt
                                              • Right: 391 pt
                                              • Anchoring: Left, Top
                                              Field Format:
                                              • Edit Box
                                              Field Behavior:
                                              • Allow field to be entered: In Find mode, In Browse mode
                                              • Touch keyboard type: System Default
                                              • Go to next field using: Tab key
                                              Yes

                                              Field Name: CURL Send Email::Subject
                                              Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                              • Top: 114 pt
                                              • Left: 138 pt
                                              • Bottom: 128 pt
                                              • Right: 391 pt
                                              • Anchoring: Left, Top
                                              Field Format:
                                              • Edit Box
                                              Field Behavior:
                                              • Allow field to be entered: In Find mode, In Browse mode
                                              • Touch keyboard type: System Default
                                              • Go to next field using: Tab key
                                              Yes

                                              Field Name: CURL Send Email::Text
                                              Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                              • Top: 132 pt
                                              • Left: 138 pt
                                              • Bottom: 350 pt
                                              • Right: 553 pt
                                              • Anchoring: Left, Top
                                              Field Format:
                                              • Edit Box
                                              Field Behavior:
                                              • Allow field to be entered: In Find mode, In Browse mode
                                              • Touch keyboard type: System Default
                                              • Go to next field using: Tab key
                                              Yes

                                              Field Name: CURL Send Email::Result
                                              Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                              • Top: 24 pt
                                              • Left: 648 pt
                                              • Bottom: 38 pt
                                              • Right: 901 pt
                                              • Anchoring: Left, Top
                                              Field Format:
                                              • Edit Box
                                              Field Behavior:
                                              • Allow field to be entered: In Find mode, In Browse mode
                                              • Touch keyboard type: System Default
                                              • Go to next field using: Tab key
                                              Yes

                                              Field Name: CURL Send Email::DebugOutput
                                              Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                              • Top: 42 pt
                                              • Left: 648 pt
                                              • Bottom: 572 pt
                                              • Right: 1135 pt
                                              • Anchoring: Left, Top
                                              Field Format:
                                              • Edit Box
                                              Field Behavior:
                                              • Allow field to be entered: In Find mode, In Browse mode
                                              • Touch keyboard type: System Default
                                              • Go to next field using: Tab key
                                              Yes

                                              Field Name: CURL Send Email::DebugInput
                                              Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                              • Top: 360 pt
                                              • Left: 138 pt
                                              • Bottom: 578 pt
                                              • Right: 553 pt
                                              • Anchoring: Left, Top
                                              Field Format:
                                              • Edit Box
                                              Field Behavior:
                                              • Allow field to be entered: In Find mode, In Browse mode
                                              • Touch keyboard type: System Default
                                              • Go to next field using: Tab key
                                              Yes

                                              Field Name: CURL Send Email::Image1
                                              Field PropertiesCoordinatesField FormatField BehaviorQuick Find
                                              • Top: 582 pt
                                              • Left: 138 pt
                                              • Bottom: 707 pt
                                              • Right: 391 pt
                                              • Anchoring: Left, Top
                                              Field Format:
                                              • Edit Box
                                              Field Behavior:
                                              • Allow field to be entered: In Find mode, In Browse mode
                                              • Touch keyboard type: System Default
                                              • Go to next field using: Tab key
                                              No

                                              Group Buttons

                                              Button PropertiesCoordinatesScript/Script Step
                                                Type:
                                              • Text: Send Email
                                                Additional Properties:
                                              • Change to hand cursor over button
                                              • Rectangular
                                              • Top: 30 pt
                                              • Left: 414 pt
                                              • Bottom: 55 pt
                                              • Right: 535 pt
                                              • Anchoring: Left, Top
                                              Perform Script [ “Send” ]

                                              Scripts:


                                              Script Hierarchy

                                              Send

                                              Script NameSend
                                              Run script with full access privilegesOff
                                              Include In MenuYes
                                              Layouts that use this script
                                              Scripts that use this script
                                                Script Definition
                                                Script Steps
                                                • #We pick a random UUID as boundary delimiter
                                                • Set Variable [ $Boundary; Value:MBS( "UUID.Hex" ) ]
                                                • #Assemble email
                                                • #Header declare multipart and boundary delimiter
                                                • Set Variable [ $header; Value:"Subject: " & MBS("String.EncodeEmailSubject"; CURL Send Email::Subject) & "¶From: " & CURL Send Email::From & "¶To: " & CURL Send Email::To & "¶Content-Type: multipart/mixed;¶ boundary=\"" & $Boundary & "\"¶¶" ]
                                                • #This comes before plain text
                                                • Set Variable [ $part1; Value:"--"& $Boundary & "¶Content-Transfer-Encoding: 7bit¶Content-Type: text/plain;¶ charset=us-ascii¶¶" ]
                                                • #This starts image block
                                                • #For multiple images you could repeat this
                                                • Set Variable [ $part2; Value:"¶¶--" & $boundary & "¶Content-Disposition: attachment;¶ filename=mbs.pdf¶Content-Type: application/pdf;¶ name=\"mbs.pdf\"¶Content-Transfer-Encoding: base64¶¶" ]
                                                • #This is the end marker
                                                • Set Variable [ $part3; Value:"¶¶--" & $boundary & "--¶" ]
                                                • #image data needs to be base 64 encoded
                                                • Set Variable [ $image1; Value:MBS( "Container.GetBase64" ; CURL Send Email::Image1; "FILE" ) ]
                                                • #Now build emails together with various parts.
                                                • Set Variable [ $image1; Value:MBS("Text.ReplaceNewline"; $image1; 3; 80) ]
                                                • Set Variable [ $content; Value:$header & $part1 & CURL Send Email::Text & "¶"& $part2 & $image1 & $part3 ]
                                                • #Now connect to server and deliver
                                                • Set Variable [ $curl; Value:MBS("CURL.New") ]
                                                • Set Variable [ $result; Value:MBS("CURL.SetOptionUpload"; $curl; 1) ]
                                                • Set Variable [ $result; Value:MBS("CURL.SetOptionURL"; $curl; "smtp://" & CURL Send Email::Server) ]
                                                • Set Variable [ $result; Value:MBS("CURL.SetOptionUserName"; $curl; CURL Send Email::Username) ]
                                                • Set Variable [ $result; Value:MBS("CURL.SetOptionPassword"; $curl; CURL Send Email::Password) ]
                                                • Set Variable [ $result; Value:MBS("CURL.SetOptionMailRecipients"; $curl; CURL Send Email::To) ]
                                                • Set Variable [ $result; Value:MBS("CURL.SetOptionMailFrom"; $curl; CURL Send Email::From) ]
                                                • Set Variable [ $result; Value:MBS("CURL.SetInputText"; $curl; MBS("String.ReplaceNewline"; $content; 3)) ]
                                                • Set Field [ CURL Send Email::Result; MBS("CURL.Perform"; $curl) ]
                                                • Set Field [ CURL Send Email::DebugOutput; MBS("CURL.GetHeaderAsText"; $curl) ]
                                                • Set Field [ CURL Send Email::DebugInput; MBS("Text.ReplaceNewline"; MBS("CURL.GetInputAsText"; $curl);1) ]
                                                • Set Variable [ $result; Value:MBS("CURL.Cleanup"; $curl) ]
                                                Fields used in this script
                                                Scripts used in this script
                                                  Layouts used in this script
                                                    Tables used in this script
                                                    Table occurrences used by this script
                                                    Custom Functions used by this script
                                                      Custom menu set used by this script

                                                        Download example: CURL Send Email with PDF attachments

                                                        Used functions:




                                                        Links
                                                        MBS Xojo PDF Plugins