November 23, 201510 yr Newbies Hi Forum! I have a script which sends an email to [current record] . Now I want to attach a PDF to the email automatically using the script. So far I have tried with ... filewin:/$driveLetter/$targetDir/$[name_of_unique_field_from_FM] as variable file path. But nothing is attached when I run the script. I hope you can help. Edited November 23, 201510 yr by Per Waagø
November 23, 201510 yr The window where you specify the path to the attachment is not a calc window so you can not mix strings and variables. It can take a variable but only the variable, so the variable has to contain the full path and file name.
November 23, 201510 yr Author Newbies Hi there! Thank you for your quick answer! I am not sure I totally have made my problem clear. I dont believe I am using a calculation. Right now I have specified the attached file as: filewin://GCteam/Shared Documents/John Smith.pdf Where John Smith in this case is the [name_of_unique_field_from_FM]. That name of course varies from record to record. So are you saying that it is not possible to make the path relative?
November 23, 201510 yr Yes you can but not like this: filewin://GCteam/Shared Documents/$someVariable In your script use Set Variable to set $someVariable to "filewin://GCteam/Shared Documents/[name_of_unique_field_from_FM].pdf" Then in the window where you specify the attachment, just use: $someVariable
March 9, 20169 yr Hi tried to send out email with variable pdf.however i get the attached error message My script is as follows Any idea where i am going wrong and what is causing this error. p.s THe button is on the record i ewant to attach
March 10, 20169 yr Can't see the full script step, but do not use . in a table occurrence name, but rather an underscore.
July 8, 20169 yr I'm having somewhat of the same issue. bcooney, your demo from 2009 (http://fmforums.com/forum/topic/65699-emailing-a-pdf-form-from-fm-9/?p=311349) helped a great deal. But I can't seem to get the email attachment filepath right. The purpose of my script is to: 1) go to each record in the database 2) save the layout for the current record as a pdf in a folder on my desktop - that pdf will have a filename derived from record data 3) send the pdf file in an email addressed using record data 4) go to the next record and repeat the process until all records have been processed Everything works except there is no attachment in the email that is sent. Here is my script. What am I missing? Edited July 8, 20169 yr by steveald
July 8, 20169 yr Use Get (DesktopPath) & "Files/" & KCL Master PrePrint::Combined Employee Name & ".pdf" Just a suggestion, spaces are not your friend. Use underscores in table and field names.
July 8, 20169 yr No joy. Still no attachment in the email. Do I need to specify different paths for saving the file and then for retrieving it to email? Here is the script after making the changes you suggested (assuming I did it right).
July 8, 20169 yr It looks like to key might be setting more variables. Thanks for the suggestion, BruceR. I'll give it a try first thing Monday.
July 8, 20169 yr "It looks like to key might be setting more variables." It isn't strictly necessary. But sometimes it can help clarify your thinking about what chunk of code does what.
July 11, 20169 yr No joy. Thinking the mail process might need new variables other than the ones used to create the file in the first place, I came up with the following. But there is still no attachment in the sent email. My guess is the issue is somewhere in the path for where to get the file to attach to the email. I thought it might be because the file wasn't saved to the folder yet when the Send Mail command was invoked, but adding a Pause didn't help. Also, can someone remind me what character is used within the Send Mail options to force carriage returns in the body of the email message? Ignore the last bit. Char(13) is what I was looking for. Edited July 11, 20169 yr by steveald
July 11, 20169 yr What is the value of $filename? Does it contain a character that is causing the path to be invalid?
July 11, 20169 yr You may be onto something. It's the first and last name of the intended recipient. With a SPACE in between! Let me replace that with an underscore and try again.
July 11, 20169 yr No luck. Even after I took it one step further. EmpCombinedNameNoSpace is the recipient's first and last name with nothing in between. So, an example of the name of the file saved to the folder would be "JohnSmith.pdf". Which means the path to the file should be /Users/Me/Desktop/Files/JohnSmith.pdf for both saving and sending the file. Do the requirements for the path syntax for Send Mail differ from those for Save Records as PDF? Here is my current script.
July 11, 20169 yr No, creating the path is identical. Are you seeing pdfs in the Files folder? You could simply this by writing them directly to the desktop. I actually use Get (TemporaryPath) for this.
July 11, 20169 yr My concern with that is, I will be applying this script to literally thousands of records. So I felt the folder was necessary.
July 11, 20169 yr Well, it appears that the thinking was not clarified. You have established the full PDF path once. That's all you need.
July 11, 20169 yr That makes sense. But it looks like I'm back to the first revised script. And still no attachment in the sent email.
July 11, 20169 yr Does the PDF get created? Also, can you please stop posting screen shots and actually post your script?
July 11, 20169 yr I wonder about adding a pause between save and send. Also, while testing, turn show dialog on for the send mail step.
July 11, 20169 yr Hi steveald, On November 23, 2015 at 5:41 AM, Per Waagø said: filewin://GCteam/Shared Documents/John Smith.pdf It is so simple in 14 to do this. Select the script in the Workspace and the use the button at the top right. Copy to Text, and the paste the result in your Body of the post.
July 11, 20169 yr Lee Smith, I don't see a Copy to Text button anywhere on my Script Workspace screen. Is it because I am using FMPA 15 now? Sorry, I forgot to update my Profile. (I was quite confused about this since your screenshot didn't appear at first for some reason. But that Copy Script Text button is not there in my Script Workspace.) Sorry BruceR, I missed your screenshot comment. I tried it with and without a 2 second pause again and With dialog On and Off. The pause had no effect. But the With dialog On resulted in the attachment appearing in the email as desired. So, it works - sort of. My only concern with that is having to click Send on every email message that appears. And, as I mentioned, there will be thousands. Thoughts? Edited July 11, 20169 yr by steveald
July 11, 20169 yr I don’t have version 15 so I can’t verify this. Perhaps they changed the button? The old fashion way, is to print to Preview and then copy and paste that to your post.
July 11, 20169 yr That's odd. I still had FMPA 14 on my computer, so I tried that - and still no Copy Script Text button. Print > Open PDF in Preview worked though: Save Records to Folder 3 Go to Record/Request/Page [ First ] Loop Set Variable [ $fileName; Value:KCLMasterPrePrint::EmpCombinedNameNoSpace & ".pdf" ] Set Variable [ $folderPath; Value:Get (DesktopPath) & "Files/" & $fileName ] Save Records as PDF [ File Name: “file:$folderPath”; Current record ] [ Document - ] [ Pages - Number Pages From: 1; Include: All pages ] [ Security - Printing: High Resolution; Editing: Any except extracting pages; Enable copying; Enable Screen Reader ] [ Initial View - Show: Pages Panel and Page; Page Layout: Single Page; Magnification: 100% ] [ Restore; No dialog ] Send Mail [ Send via E-mail Client; To: KCLMasterPrePrint::EmpEmail; Subject: "Requested File"; Message: "Dear " & KCLMasterPrePrint::Emp First Name & "," & Char (13) & Char (13) & "Attached is your file." & Char (13) & Char (13) & "Thank you," & Char (13) & Char (13) & "Steve" & Char (13) & Char (13); Attachment: “file:$folderPath” ] Go to Record/Request/Page [ Next; Exit after last ] End Loop
July 11, 20169 yr My company might disagree - from a staying-in-business perspective. Does that mean that you believe the only way I can do this is with the dialog box appearing for each invocation of the Send Mail script step?
July 11, 20169 yr No. It was attempted humor. But there is something going on here regarding ensuring that the PDF gets generated and cache flushed. Perhaps others will have some ideas.
July 11, 20169 yr 47 minutes ago, steveald said: That's odd. I still had FMPA 14 on my computer, AFAIK, this is the same for both versions. I looked up a video on the new Script Workspace in 15 YouTube script workspace FileMaker 15 and it shows in the workspace still. If you are using FileMaker Pro Advance, then it should be in both. Not sure if it is different in client, or you have a problem with your setup. One more thing. Do you have Admin access to this file?
July 11, 20169 yr It appears to be part of the MBS FileMaker Plugin 6.2 (http://www.portagebay.com/blog/2016/4/25/mbs-plugin-dev-highlights.html). I have Admin access, just no plugins installed.
July 11, 20169 yr Don't get my hopes up like that! ;-) The quotes appear to simply be how Script Workspace notates the entry.
July 11, 20169 yr That actually came from your InvoiceDemo.fp7 I referenced in my first post here. It works for the Save Records as PDF command, but not the Send Mail command (at least while With Dialog is set to Off).
July 11, 20169 yr http://help.filemaker.com/app/answers/detail/a_id/15733/~/mail-attachment-is-missing-when-trying-to-send-mail-using-filemaker-pro-on-os-x Is this relevant?
July 12, 20169 yr 16 hours ago, bcooney said: “file:$folderPath” Looks like it's in quotes! Should simply be $folderPath. Agreed: you can't use a calculation in these place, you just need to reference the variable. If the "file:" prefix is necessary you should include it when setting the variable.
July 12, 20169 yr 9 minutes ago, Wim Decorte said: If the "file:" prefix is necessary you should include it when setting the variable. That is not necessary: file:$variable and even: file:$pathToFolder/$fileName are perfectly valid file paths.
July 12, 20169 yr 16 hours ago, bcooney said: http://help.filemaker.com/app/answers/detail/a_id/15733/~/mail-attachment-is-missing-when-trying-to-send-mail-using-filemaker-pro-on-os-x Is this relevant? This is indeed the answer. Pending a solution for the bug which FileMaker is aware of, the Send Mail script step can be used to send a message with an attachment if it is set to No Dialog and if you use the Send via SMTP Server option. Here are the directions for doing that: http://help.filemaker.com/app/answers/detail/a_id/6991/~/support-for-sending-mail-via-an-smtp-server-vs.-an-email-client The only potential downsides I see are: you need to know your email SMTP settings and you won't end up with copies of the emails you send in the Sent folder of your email program. Thanks everyone for your contributions.
Create an account or sign in to comment