What you should do is get an internet account that gives you ssh access to your account. Then you can upload your huge file 1 time to your home directory, ssh into it, and mail out your attachments from the remote host. Accounts that give you reliable ssh access and mail rights, probably can be had for less than $20 per month
No, what you should really do is to get your customer to sign up to an email address on your server. Or, even better, give them a login to your machine, then they can just download the files. No, I've got it, have them physically relocate to your office. Then you can just read the file out to them from screen. That makes much more sense than this.
You do it your way, I'll do it mine.... ain't Perl great? If the OP really needs to deliver his content via the email inbox, then he needs to get a better ISP account. Http links in an email, may never get clicked... so can you be sure they ever received it?