Thanks for the input.

I would really like to avoid going through all the steps of setting up
actionmailer for an email that gets sent once a month to one person.
That and I would like to avoid put a full blown rails install (even if
it is easy to do) on a server when a single ruby script is so close to
doing the job.



On Jun 1, 2:19 pm, Pau Garcia i Quiles <pgqui... / elpauer.org> wrote:
> Hello,
>
> Take a look at this:http://www.akadia.com/services/email_attachments_using_perl.html
>
> and compare with what you get. I'd say your output is pretty different.
>
> Anyway, I'd use Ruby-Mail or ActionMailer
>
> http://rubyforge.org/projects/rubymail/http://rubyforge.org/projects/actionmailer/
>
> --
> Pau Garcia i Quileshttp://www.elpauer.org
> (Due to the amount of work, I usually need 10 days to answer)
>
> Quoting grooveska <rya... / mac.com>:
>
> > I am working on a script that will send an email with a .csv file
> > attachment.  I can get everything set correctly, and the email gets
> > sent properly. The problem is with the attachments.  This maybe a MIME
> > thing instead of something wrong with my script.  My script is based
> > on an example from Hal Fulton's The Ruby Way book. If anyone has any
> > suggestions or see something I did wrong I would greatly appreciate
> > it.  Below is my script.  Below that is what the email I receive looks
> > like.
>
> > Thanks!
>
> > ***Begin Script***
>
> > require 'time'
> > require 'net/smtp'
> > require 'date'
>
> > ##################################################################
> > #  This portion of the code assembles the filenames of the files #
> > #  to be attached in the email                       #
> > ##################################################################
>
> > time = Time.now            #set time object to the current time
> > month = time.month         #grab the number of the month from the
> > current time
> > day = time.day             #grab the day of the current time
> > year = time.year           #grab the year of the current time
>
> > month = month + 1          #to match the format of Ian's file names
>
> > if month < 10               #formatting
> >   fullmonth = "0" + month.to_s
> > else
> >   fullmonth = month.to_s
> > end
>
> > if day < 10
> >   fullday = "0" + day.to_s
> > else
> >   fullday = day.to_s
> > end                       #end of formatting
>
> > filename1 = "pagecount-" + year.to_s + fullmonth +  fullday + ".csv"
> > #assemble file name
>
> > #####################################
> > #  Attach files and send the email #
> > ####################################
>
> > def text_plus_attachment (subject, body, filename)
> >   marker = "MIME_boundary"
> >   middle = "--#{marker}\n"
> >   ending = "--#{middle}--\n"
> >   content = "Content-Type: Multipart/Related; " + "boundary=#{marker};
> > " + "typw=text/plain"
> >   head1 = <<-EOF
> >   MIME-Version: 1.0
> >   #{content}
> >   Subject: #{subject}
> >   EOF
> >   binary = File.read(filename)
> >   encoded = [binary].pack("m")    # base64 econding
> >   head2 = <<-EOF
> >   Content-Description:  "#{filename}"
> >   Content-Type: text/plain; name="#{filename}"
> >   Content-Transfer-Encoding: Binary
> >   Content-Disposition: attachment; filename="#{filename}"
>
> >   EOF
>
> >   #Return
>
> >   head1 + middle + body + middle + head2 + encoded + ending
>
> > end
>
> > body = <<EOF
> > The GFIFax Monthly report is attached.
> > EOF
>
> > mailtext = text_plus_attachment("Monthly Report", body,
> > filename1)
>
> > Net::SMTP.enable_tls(OpenSSL::SSL::VERIFY_NONE)
> > Net::SMTP.start('smtp.xxx.xxx', '25', 'xxx.xxx', 'xx... / xxx.xxx',
> > 'xxx', :plain) do |smtp|
> >   smtp.sendmail(mailtext, '... / xxx.xxx', ['... / xxx.xxx'])
> > end
>
> > ***End Script***
>
> > ***Begin Email results*** (This is all in the body of the email
> > instead of in the headers)
>
> >   MIME-Version: 1.0
> >   Content-Type: Multipart/Related; boundary=MIME_boundary; typw=text/
> > plain
> >   Subject: GFIFax Service Monthly Report --MIME_boundary The GFIFax
> > Monthly report is attached.
> > --MIME_boundary
> >   Content-Description:  "pagecount-20070631.csv"
> >   Content-Type: text/plain; name="pagecount-20070631.csv"
> >   Content-Transfer-Encoding: Uencode
> >   Content-Disposition: attachment; filename="pagecount-20070631.csv"
>
> > M4V5N="!&87AE<RPL+`I5<V5R240L(%!A9V5S(%-E;G0L($QI;6ET+"!/=F5R
> > M86=E"C4W,S(P,C(Q,30L,BPU,"PP"C4W,S(P,C(Q,34L-"PU,"PP"C4W,S,T
> > M,3<X-#8L,2PU,"PP"@H*4F5C96EV960@1F%X97,L+"P*57-E<DE$+%!A9V5S
> > M(%)E8V5I=F5D+"!,:6UI="P@3W9E<F%G90HU-S,S-#$V,C,S+#$R+#$P,"PP
> > M"C4W,S(P,C(Q,30L,RPQ,#`L,`HU-S,S-#$T.#@Y+#(Q.2PQ,#`L,3$Y"C4W
> > M,S,T,38R-S$... / L.3DY.2PP"C4W,S(P,C(S.3(L,C`U+#DY.3DL,`HU-S,R
> > E,#(R,SDW+#4T+#DY.3DL,`HU-S,R,#(R,SDV+#$Q+#$P,"PP"@``
> > ----MIME_boundary
> > --
>
> > **End Email**'
>
> > I hope someone can help me out!
>
> > Thanks!