6

メーラー内でアセットパイプラインの任意の形式を使用すると、メーラー自体またはビューを使用するのに問題があります。メーラー内でアセットを使用するにはどうすればよいですか?

以下は、srcイメージタグを生成して空にします。

<%= image_tag "emails/header-general.png" %> 

空の画像タグは次のようになります

のIMG ALT =「ヘッダー一般的な」

モデルを介してファイルを添付し、ビューでそれを使用して次の形式が空を添付画像。

私はパスをチェックして、複数のパスなどを試しましたが、運がありませんでした。 助けてください。電子メール内に画像を含めるのはどんな形であれ有用である。

ここは制作環境です。

Xenium::Application.configure do 
# Settings specified here will take precedence over those in config/application.rb 

# Code is not reloaded between requests 
config.cache_classes = true 

# Full error reports are disabled and caching is turned on 
config.consider_all_requests_local  = false 
config.action_controller.perform_caching = true 

# Disable Rails's static asset server (Apache or nginx will already do this) 
config.serve_static_assets = false 

# Compress JavaScripts and CSS 
config.assets.compress = true 

# Choose the compressors to use 
config.assets.js_compressor = :yui 
config.assets.css_compressor = :yui 

# Don't fallback to assets pipeline if a precompiled asset is missed 
config.assets.compile = true 

# Generate digests for assets URLs 
config.assets.digest = true 

# Defaults to Rails.root.join("public/assets") 
# config.assets.manifest = YOUR_PATH 

# Specifies the header that your server uses for sending files 
# config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache 
config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx 

# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. 
# config.force_ssl = true 

# See everything in the log (default is :info) 
config.log_level = :fatal 

# Use a different logger for distributed setups 
# config.logger = SyslogLogger.new 

# Use a different cache store in production 
config.cache_store = :mem_cache_store 

# Enable serving of images, stylesheets, and JavaScripts from an asset server 
#config.action_controller.asset_host = "http://asset.xenium.bg" 

# Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added) 
# config.assets.precompile += %w(search.js) 

# Disable delivery errors, bad email addresses will be ignored 
config.action_mailer.raise_delivery_errors = true 
#config.action_mailer.perform_deliveries = true 
config.action_mailer.delivery_method = :smtp 
config.action_mailer.smtp_settings = { 
:address    => "localhost", 
:port     => 25, 
:domain    => 'xenium.bg', 
#:user_name   => '<username>', 
#:password    => '<password>', 
#:authentication  => 'plain', 
:enable_starttls_auto => false 
} 

# Enable threaded mode 
# config.threadsafe! 

# Enable locale fallbacks for I18n (makes lookups for any locale fall back to 
# the I18n.default_locale when a translation can not be found) 
config.i18n.fallbacks = true 

# Send deprecation notices to registered listeners 
config.active_support.deprecation = :notify 
end 

ありがとう!

+0

この問題をデバッグする際の一般的なヒントをいくつかご紹介します。 #1。普通の画像で同じ画像を表示すると、それは表示されますか?もしそうなら、生成された画像のURLは何ですか? #2。メーラー版では、src属性は実際には空白ですか?あなたの質問に生成されたimgタグを含めてください。 #3。この問題を解決するには、さまざまな設定を試してください。問題を解決した後でも、ブラウザは「空の」イメージを表示し続けることがあります。 #4。この質問の一部として環境設定ファイルを含めてください。 – cailinanne

+0

こんにちはコメントをいただきありがとうございます。私は、より多くのものを含めるために私の質問を編集しました。キャッシュの奇妙さなど何もありません。それはちょうどうまくいかないようです – YavorIvanov

答えて

4

2.3.3 Making Inline Attachmentsセクションによると、あなたのケースでそう

attachments.inline['image.jpg'] = File.read('/path/to/image.jpg') 

を次のように行いますインライン添付ファイルを作成するには、それは

attachments.inline['header.jpg'] = File.read("#{Rails.root}/app/assets/images/emails/header-general.png" 
1

セットconfig.action_controller.asset_hostと設定する必要があります.action_mailer.asset_hostとこれはうまくいきます。

config.action_mailer.asset_host = URL from where pick image 
<%= image_tag image_path('logo.png') %> 
関連する問題