mail gemで、Content-Type: multipart/mixedとしたいけどならないときの対処法

mail gem使って、multipartメールでかつファイルが添付されたメールを送信したら、 Content-Type: multipart/mixedではなくContent-Type: multipart/alternativeになってしまい、 Thunderbirdでは添付ファイルが認識されず、MacメーラーではHTML本文が表示されない自体となってしまった。 別におかしなことはしていなくて、 のREADME通り、

@mail = do
  to      ''
  from    'Mikel Lindsaar <>'
  subject 'First multipart email sent with Mail'

  text_part do
    body 'Here is the attachment you wanted'

  html_part do
    content_type 'text/html; charset=UTF-8'
    body '<h1>Funky Title</h1><p>Here is the attachment you wanted</p>'

  add_file '/path/to/myfile.pdf'

のようにしてたのだけど、なぜかダメだった。 で、issues漁っていたら、 が見つかって、そこで紹介されている のようにしたら、Content-Type: multipart/mixed で送信されるようになった。 do |mail|
  to      ''
  from    'Fred Flintstone <>'
  subject 'Multipart email with attachment'

# Remember to end the plain text with a few blank lines. iOS devices often display the content of the attachments so you want to force them to go below the text

# Create the text and html as separate mail parts
text_body = do
    body "This is the message\n\n"
    content_type 'text/plain; '
html_body  = do
    body "<h1>This is HTML</h1>"
    content_type 'text/html; charset=UTF-8'

# Create a mail part to hold the html and plain text
bodypart =
bodypart.text_part = text_body
bodypart.html_part = html_body

# Add the html and plain text to the email
mail.add_part bodypart

# Add the attachment(s)
attachment = "../path/to/doc.pdf"
mail.attachments["#{File.basename(attachment)}"] =

いったん、 bodypart = として、 その後、 mail.add_part bodypartするのがポイント。