2

添付ファイル付きで ActionMailer 経由で送信した電子メールに添付ファイルが表示されず、添付ファイルの内容が電子メールに表示/出力されるだけの理由がわかりません。

class MyMailer < ActionMailer::Base
  default :from => "email@email.com"

  def test_email()
    attachments['testresult1.html'] = {
      :filename => 'testresult1.html',
      :body => File.read('C:\\testresult1.html')
    }

  mail(:to => 'email@email.com',
    :subject => 'Cool great message'
  )
  end
end

メールの出力は次のようになります

Date: Tue, 17 Apr 2012 14:11:52 +1000
Mime-Version: 1.0
Content-Type: text/html;
charset=UTF-8;
filename=testresult1.html
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename=testresult1.html
filename: testresult1.html
Content-ID: <4f8ced883c0d9_1b1c30b580813e@PC-049.mail>

次に、HTML ファイル/添付ファイルの内容全体。

通常の電子メールに添付されるように、HTML ファイルが電子メールに添付されることを期待します。添付ファイルをダブルクリックしてブラウザで開くことができるはずです。

Email Client = Microsoft Outlook
Connection = SMTP
Rails = 3.2.1
ActionMailer = 3.2.1
Mail = 2.4.4
4

3 に答える 3

2

どうもありがとうフィリップ:)

次の 2 つの問題に直面していた body 属性のない添付ファイルを送信していました。

  1. PDFの名前は常に「noname」として来ていました
  2. 時々PDFが壊れていました

しかし、メールに body 属性を追加すると機能します。

したがって、正しい構文は次のとおりです。

attachments['mypdf.pdf'] = File.read('#{Rails.root.to_s}/public/test.pdf')
mail(:to => guru****@gmail.com, :from => guru****@gmail.com, :subject => 'Attachment Test Mail', :body => 'Regards, Guru')

于 2012-06-02T14:37:32.120 に答える
2

body#mail にキーを追加してみてください。

于 2012-04-17T05:57:24.823 に答える
1

「Noname」についても同じ問題があり、破損しています。

以下のコードを使用しています:

attachments['126539_statistics.pdf'] = File.read("app/assets/pdfs/126539_statistics.pdf")
mail(:to => email, :subject => subject, :body => message)

添付ファイル付きメールの送信に問題はありません...

于 2012-10-10T10:27:15.423 に答える