Handling Files

Note: Files must already be uploaded to the server (via ftp, ssh, etc) and must be accessible by the web server's user (true for most cases these days) in order for EzPPb to be able to attach it to an email. EzPPb will inform you if it cannot find and/or access a file. If you are selling the file and/or offering it as a 'freebie,” it is best to keep the file outside of the web's public html directory. But if your host will not allow this and your host is using apache, then place a .htaccess file with “deny from all” as its contents inside the directory that will house the files. This will prevent direct access via the web.

There are two ways to handle files. You can either have the file attached to the email or you can use a download link for each attachment.

As an attachment:

If you choose to email the file, be sure to remember that large attachments can cause PayPal's IPN to fail and thus cause EzPPb to send out duplicate emails and/or cause duplicate entries in EzPPb's log. In this scenario, it is best to use a cron job to process emails (see above).

As a download link

EzPPb has built in a download component if you prefer to use this instead of attaching the file directly to an email. With this option, a link is sent to the customer which they can use to download the file. You have the option to set a download limit to restrict the number of times the customer can download the file before they are denied access (leave the field blank to allow unlimited downloads).

For this to work, you must include the {file_download_link1}, {file_download_link2}, {file_download_link3}, etc. placeholders (the link number will coresponde with the file link number) in the body of the email. Use the placeholder in place of a URL with an "a" element if you want the link to be within a hypertext. For example, "<a href='{file_download_link1}'>Click here to download your file!</a>."

If you are using files in association with dropdown options, use the following placeholders instead of the ones above:

{file_download_link_price_opt} - non-subscription price per option {file_download_link_sub_opt} - subscription price per option {file_download_link_std_opt} - standard option