Looking for a large file attachment solution for exchange/outlook


We are using Exchange 2007 server, and mostly Outlook 2003/2007.  Our users often need to send large PDF files (20-100MB) to other users.  Our attachment limit is 20MB (which I think is plenty, rather have it at 10MB personally) but there is definitely a need for sending large files in this company.

I've set them up with our FTP server and a mapped network drive that they can drop the files into their "X" drive and send a link to the recipient, but that has been cumbersome to the everyday user and hasn't been used much.

Does anyone know a good solution for sending large email attachments?  I am envisioning an app of some kind that would take large attachments, dump them on our FTP server, and replace the attachment with a hyperlink that be sent to the recipent for download via FTP.  Maybe as an outlook add-in or running directly on the exchange server.

But I'm open to any solutions that would solve this issue, let me know experts!

Thanks in advance,
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

I can't see a reason why not going to www.rapidshare.com and sending the file directly from their, faster and easier!!! to any user!
You can ask users to use below website

Chris BottomleySoftware Quality Lead EngineerCommented:
How would you like it to work, for example user adds a number of files to an email and clicks send.

A VBA script could pick on any attachments at that timem strip out those that are oversize, (10MB for example)  and if the accumulated set are over 10MB then process many more smaller sizes until the 'limit' is met.  Each deleted file attachment could be replaced by a link tot the 'X' drive, (I assume this will be the same for all users) and the mail is then sent.  Of course it also means the originator will not have the files either in outlook.

If acceptab;e then let us knw and we can work on it for you.

The Ultimate Tool Kit for Technolgy Solution Provi

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy for valuable how-to assets including sample agreements, checklists, flowcharts, and more!

taftelectricAuthor Commented:
Chris, that sounds exactly like what I was thinking.  It would keep the big attachments off of Exchange and give our users some flexibility for large files.  Would this VBA script run on the clients workstation or on the Exchange server?

Thanks again.
Chris BottomleySoftware Quality Lead EngineerCommented:
Personally I cannot do exchange so I am simply envisioning an outlook client solution since that is within my capabilities.

taftelectricAuthor Commented:
Ok, that would actually work best since not all of our users would need it.
Chris BottomleySoftware Quality Lead EngineerCommented:
First off then ... do you have an idea for what constitutes a reasonable attachment limit for your business ... i.e. small files lcan be embedded for HTML as an example and you wouldn't to delete them so if for example a file size of over 1MB is considered 'unreasonable' we could try deleting all such and replacing with links.

Secondly do you want to tell me the folderpath or replace it yourself if I identify a dummy.

3. How are you for VBA programming in outlook?

taftelectricAuthor Commented:
1) I think 10MB is reasonable
2) I can replace the folderpath, we will be adjusting our FTP server paths/folders to accomodate so it isn't known right this second
3) I haven't really done any VBA in outlook, very little for Excel in the past
Chris BottomleySoftware Quality Lead EngineerCommented:
FWIW, I have put together som ecode that in my tests, (local directory) works fine.  Basically need to ensure the code is called hence it is important to know your skills base.  That aside try the following as a pointer to inserting teh code:

To Create a macro:

Alt + F11 to open the macro editor

  For Applicationevent handlers:
     In the project tree select as appropriate:
      OUTLOOK      : thisOutlookSession
     In the workpane select as appropriate:
      OUTLOOK      : Application
     In the workpane select the required 'event', (i.e. 'Send').
        Insert the required code from the supplied sub into the selected subroutine.
        Replace the template inserted by the VBE with the sub as supplied

  For User Code:
     Insert | Module to insert a code module into the project
     In the project tree select the module.
     Insert the required macro(s) into the selected module, ('Module1' or similar)

Close the Visual Basic Editor.

Check Security as appropriate:

In the application select Tools | Macro | Security
2003 and Earlier : Select Medium
2007 : Warnings for all Macros
Select OK

Chris BottomleySoftware Quality Lead EngineerCommented:
This needs to be the application event handler in thisOutlookSession

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    saveAtt Item
End Sub

Open in new window

Chris BottomleySoftware Quality Lead EngineerCommented:
This needs to be in a normal code module.  Modify the line:

    dosFolderPath = "c:\attachments\"

To the path where you want the attachments saving ... THE FOLDER MUST PRE_EXIST.

The file size is defined in the line:
        If olkAttachment.Size > 5196 Then
MOdify this to the byte limit of your choice.

If all is inserted correctly ... and i've done my bit it should work.  If you want specific adssitance then i'll hopefully look in again in the morning

Sub saveAtt(mai As MailItem)
Dim olkAttachment As Attachment
Dim intatt As Integer
Dim intIncrement As Integer
Dim dosFolderPath As String
Dim FSO As Object
Dim fn As String
Dim ft As String
    Set FSO = CreateObject("Scripting.FileSystemObject")
    dosFolderPath = "c:\attachments\"

    On Error GoTo exiat
    For intatt = mai.Attachments.count To 1 Step -1
        Set olkAttachment = mai.Attachments(intatt)
        If olkAttachment.Size > 5196 Then
            intIncrement = 1
            fn = Left(olkAttachment.FileName, InStrRev(olkAttachment.FileName, ".") - 1)
            ft = Right(olkAttachment.FileName, Len(olkAttachment.FileName) - InStrRev(olkAttachment.FileName, ".") + 1)
            Do While FSO.FileExists(dosFolderPath & fn & "_" & intIncrement & ft)
                intIncrement = intIncrement + 1
            olkAttachment.SaveAsFile dosFolderPath & fn & "_" & intIncrement & ft
            If mai.BodyFormat = olFormatHTML Then
                mai.HTMLBody = mai.HTMLBody & "<p>" & "<a href='file://" & dosFolderPath & fn & "_" & intIncrement & ft & "'>" & dosFolderPath & fn & "_" & intIncrement & ft & "</a>"
                mai.body = mai.body & vbCrLf & "<file://" & dosFolderPath & fn & "_" & intIncrement & ft & ">"
            End If
        End If
End Sub

Open in new window


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.