Having similar issues: I've verified on the production server that I can get the file with open-uri like so:
irb(main):011:0> myfile = open('https://secret-app.s3-us-west-2.amazonaws.com/bucketname/filename.pdf?gobbldeygook')
=> ["%PDF-1.4\n", "1 0 obj\n", "<<\n", "/Title (\xFE\xFF\x00F\x00a\x00i\x00r\x00L\x00o\x00a\x00n)\n", "/Producer (wkhtmltopdf)\n", "/CreationDate (D:20121214051439)\n", ..... etc.
pdf = open(the_url)
attachments['my_attachment.pdf'] = pdf.read
subject: "Your Documents",
:charset => "UTF-8"
Yet when Sidekiq runs the worker, the attachment is called "noname" and completely blank except for saying:
This is a multi-part message in MIME format...
This works for regular file system files as attachments but not on the production server, where stuff is stored on S3. I'm out of ideas.