相关疑难解决方法(0)

如何使用Rails中的css和图像创建电子邮件?

如何从Rails应用程序创建和发送包含图像和正确格式的电子邮件?就像你从facebook那样得到的.

css email ruby-on-rails actionmailer

25
推荐指数
1
解决办法
2万
查看次数

`add_template_helper` 方法在 Rails 6.1 中似乎不起作用

将我的项目更新到 Rails 6.1 后,我收到此错误:

NoMethodError:
  undefined method `add_template_helper' for ApplicationMailer:Class
Run Code Online (Sandbox Code Playgroud)

在文档中似乎没有被弃用。

actionmailer ruby-on-rails-6.1

21
推荐指数
1
解决办法
1557
查看次数

Rails 4,Mailer预览,预览附加图像

我有rails 4.1.6邮件程序预览的问题.

我希望在预览模式下看到附加的图像,但它不起作用.我认为这是不正确的

有我的代码:

邮件文件

class AppMailer < ActionMailer::Base
  default from: "robot@mysite.com"

  # AppMailer.test_mail.deliver
  def test_mail
    attachments.inline['rails.png'] = File.read(Rails.root.join('app', 'assets', 'images', 'rails.png'))

    mail(
      to: 'my-email@gmail.com',
      subject: "test letter",
      template_path: "mailers",
      template_name: "test"
    )
  end
end
Run Code Online (Sandbox Code Playgroud)

预览文件

class MailerPreview < ActionMailer::Preview
  def app_mailer
    AppMailer.test_mail
  end
end
Run Code Online (Sandbox Code Playgroud)

模板文件

%p Hello, World!
%p= image_tag attachments['rails.png'].url
Run Code Online (Sandbox Code Playgroud)

当我去

/rails/mailers/mailer/app_mailer
Run Code Online (Sandbox Code Playgroud)

我看到预览页面,但图像不起作用.结果是html代码

<p>Hello, World!</p>
<p><img src="cid:544d1354a8aa0_fda8082dbf8258ca@admins-air.mail"></p>
Run Code Online (Sandbox Code Playgroud)

所以.我想,我应该找到一种方法来获取路径/到/文件而不是预览模式下的CID

(当我把信寄到我的邮箱时 - 信看起来不错)

我在预览模式下做错了什么?

ruby-on-rails actionmailer ruby-on-rails-4

7
推荐指数
3
解决办法
2942
查看次数

内联中的Rails附件未在gmail中正确显示

有谁能指出我的问题?

我在rails 3.1应用程序邮件程序中使用内联附件.该信还包含存储在amazon w3服务器上的图像.

问题是gmail没有正确显示字母.我在信中有内联附件.但Gmail会将这些文件显示为附加文件.这封信还包含一个附加的html页面,其中包含字母本身.所有gmail显示都是一组符号,我想这是一个附加图像的base64版本.

查看截图.

由于缺乏必要的评级,我无法发布图片,所以我在这里发布.

这是我的邮件中的代码:

attachments.inline['blank'] = File.read("#{Rails.root.to_s + '/app/assets/images/blank_500x500.png'}")
attachments.inline['discount-deal-triangle'] = File.read("#{Rails.root.to_s + '/app/assets/images/discount-deal-triangle.png'}")
mail(:to => @subscriber.email, :subject => subject)
Run Code Online (Sandbox Code Playgroud)

以下是视图文件中的代码:

-if @image_url
  = image_tag( attachments['offer_image'].url, :id => 'offer_image', :width => "320", :height => "320")
-elsif @offer.image.nil?
  = image_tag( attachments['blank'].url, :id => 'offer_image', :width => "320", :height => "320")
Run Code Online (Sandbox Code Playgroud)

我省略了细节以使其更简单.

我究竟做错了什么?

ruby gmail ruby-on-rails actionmailer

6
推荐指数
2
解决办法
6414
查看次数

使用Rails 3的电子邮件中的CSS图像

我正在尝试发送一封包含Rails 3和Action Mailer的电子邮件.电子邮件很好,但我希望它是HTML格式的一些基本样式,包括背景图像.我知道图像可能会被阻止,直到用户允许它们显示,但我仍然认为最好链接到我的Web服务器上的图像.

名为registration_confirmation.html.erb的电子邮件模板如下所示:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<style type="text/css">
body {
    background: url(/images/mainbg_repeat.jpg) top repeat-x #cfcfcf;
    margin: 0px 0px 0px 0px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    color: #565656;
}
Run Code Online (Sandbox Code Playgroud)

获取背景图像的url链接以包含完整主机以使背景显示在电子邮件中的最佳方法是什么?

ruby-on-rails actionmailer html-email

4
推荐指数
1
解决办法
7626
查看次数