Tmail: Saving Excel attachments to disk


#1

I’m using ActionMailer, which uses Tmail, to save
Excel attachments to disk. I found a tutorial for
saving attachments. However whether I decode the
message part or not. Excel says the file is corrupt.
I’m using Windows XP, latest stable Ruby and latest
Rails gem. The mails I receive are valid multipart
mail messages. The spreadsheet attachments are valid
as well. Any Suggestions on the proper way to save
Excel attachments using Tmail?

My code is very similar to this tutorial. All I do is
check the content type of each part. If it is an
Excel spreadsheet. I push it onto an array. Then
iterate over the array of spreadsheets, saving them to
disk. The code I use to write to disk is identical to
the tutorial.
http://mondragon.cc/blog/articles/2006/12/30/decoding-email-attachments-with-actionmailer-base-receive

Thanks,


#2

On 2/5/07, Andrew M. Campbell removed_email_address@domain.invalid wrote:

My code is very similar to this tutorial. All I do is
check the content type of each part. If it is an
Excel spreadsheet. I push it onto an array. Then
iterate over the array of spreadsheets, saving them to
disk. The code I use to write to disk is identical to
the tutorial.
http://mondragon.cc/blog/articles/2006/12/30/decoding-email-attachments-with-actionmailer-base-receive

Thanks,

try adding “binary” to File.open() if you’re on windows

you can check if this is your problem by sending a known file to
yourself and compare the sent and received files - if there’s a
problem, they’d differ in length, just make sure the sent file
contains \n (13)


#3

— Jan S. removed_email_address@domain.invalid wrote:

multipart

iterate over the array of spreadsheets, saving
them to
disk. The code I use to write to disk is
identical to
the tutorial.

http://mondragon.cc/blog/articles/2006/12/30/decoding-email-attachments-with-actionmailer-base-receive

problem, they’d differ in length, just make sure the
sent file
contains \n (13)

Adding binary to File.open worked like a champ. Thank
you.