Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 多部分电子邮件标记为text/plain和text/html_Ruby On Rails_Email_Markdown - Fatal编程技术网

Ruby on rails 多部分电子邮件标记为text/plain和text/html

Ruby on rails 多部分电子邮件标记为text/plain和text/html,ruby-on-rails,email,markdown,Ruby On Rails,Email,Markdown,我正在寻找一种在Rails中发送干式多部分电子邮件的解决方案。对于DRY,我的意思是邮件的内容只定义一次 我已经考虑过一些可能的解决方案,但还没有找到任何现有的实现 我想到的解决方案是: 从I18n加载文本,并为html邮件应用标记,为文本邮件应用带有特殊输出类型的标记,其中 链接放在链接文本后的括号中 删除粗体、斜体和其他没有意义的格式 维护有序和无序列表 仅生成html邮件,并根据上述条件将其转换为文本 有什么可行的解决方案吗?哪种方法可能更好?这是一种PITA,但却是唯一可以同时支

我正在寻找一种在Rails中发送干式多部分电子邮件的解决方案。对于DRY,我的意思是邮件的内容只定义一次

我已经考虑过一些可能的解决方案,但还没有找到任何现有的实现

我想到的解决方案是:

  • 从I18n加载文本,并为html邮件应用标记,为文本邮件应用带有特殊输出类型的标记,其中
    • 链接放在链接文本后的括号中
    • 删除粗体、斜体和其他没有意义的格式
    • 维护有序和无序列表
  • 仅生成html邮件,并根据上述条件将其转换为文本

有什么可行的解决方案吗?哪种方法可能更好?

这是一种PITA,但却是唯一可以同时支持HTML(多部分)和纯文本的干邮件方法:

将html电子邮件副本放入ActionMailer视图目录的部分文件中,扩展名如下:_action.html.erb

将“操作”替换为您正在使用的任何操作名称

然后在同一目录中再创建两个文件: action.text.html.erb和 action.text.plain.erb

在text.html部分中:

<%= render "action.html", :locals => {:html => true} %>
{:html=>true}%>
在text.plain部分中:

<% content = render "action.html", :locals => {:html => false} %>
<%= strip_tags(content) %>
{:html=>false}%>
这对我来说是可行的,尽管它确实让我想为madmimi支付每月的服务费,在的第4章中,它将指导您如何制作一个“merb”处理程序,该处理程序使用标记并穿插erb,并且可以编译为文本和html。然后创建一个邮件生成器,为每个邮件操作生成一个merb模板

你可以在我链接到你的页面上读到那一章的摘录。我强烈推荐买这本书

如果你有兴趣使用他在那本书中描述的我的抱歉版本,你可以在你的Gemfile中添加以下内容:

gem 'handlers', :git => "git://github.com/chadoh/handlers.git"
请注意,我几乎不知道自己在做什么,我没有对gem进行版本控制,甚至可能不会真正维护它。坦白地说,我希望我能找到一个做得更好的人,但我一直没有成功。如果你想放弃我的项目,做一个做得更好的人,那就去做吧