Rails actionmailer 打开主机电子邮件应用程序

2024-06-02

我想通过链接打开用户的默认邮件应用程序,附加附件,“收件人”字段为空,主题和正文中包含一些预先填充的文本。

使用 ActionMailer,我可以让它从我的 Gmail 帐户发送,但它不会打开默认的电子邮件应用程序。这是我在 ActionMailer::Base.smtp_settings 中的设置:

ActionMailer::Base.smtp_settings = {


    :address              => "smtp.gmail.com",
    :port                 => 587,
    :domain               => "gmail.com",
    :user_name            => "myname",
    :password             => "mypassword",
    :authentication       => "plain",
    :enable_starttls_auto => true
}

有没有办法像 href mailto 那样动态地执行此操作?

href mailto 标签会打开默认电子邮件,但我认为您无法添加附件。


您可以通过几种方式做到这一点。一种方法是直接定义附件:

encoded_content = SpecialEncode(File.read('/path/to/filename.jpg'))
attachments['filename.jpg'] = {:mime_type => 'application/x-gzip',
                               :encoding => 'SpecialEncoding',
                               :content => encoded_content }

并将文件名替换为您的文件,或者您可以使用附件的内联定义,如下所示:

或者在你的邮件程序中定义:

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

并在视图中:

<p>Hello there, this is our image</p>

<%= image_tag attachments['image.jpg'].url, :alt => 'My Photo',
                                            :class => 'photos' %>

您可以在此处找到如何创建附件的参考:http://guides.rubyonrails.org/action_mailer_basics.html http://guides.rubyonrails.org/action_mailer_basics.html

但如果您使用 Heroku,您可能会遇到一些困难 - 您可以在这里阅读相关内容:ActionMailer - 如何添加附件? https://stackoverflow.com/questions/4360377/actionmailer-how-to-add-an-attachment

EDIT:

是的,您提出的问题和代码让我困惑什么是真正的问题。我现在相信您正在寻找这个:

mail_to "[email protected] /cdn-cgi/l/email-protection"

寻找参考:http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-mail_to http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-mail_to

如果您想预先填充正文,您可以在这里找到一些内容将 mail_to 与块一起使用 (mail_to ... do) https://stackoverflow.com/questions/7062407/using-mail-to-with-a-block-mail-to-do

在这里添加图片,也许你可以找到有用的东西Rails:在 mail_to 链接中包含 html https://stackoverflow.com/questions/4224504/rails-include-html-in-a-mail-to-link

我刚刚从我的脑海中输入了一段代码,我希望某种附加方式可能会起作用:

<%= mail_to("[email protected] /cdn-cgi/l/email-protection", image_tag("email.gif")) %>

我还没有尝试过所有这些,但我希望有些东西会起作用,或者引导你朝着好的方向发展

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails actionmailer 打开主机电子邮件应用程序 的相关文章

  • 国家/地区的下拉菜单

    您好 我想为国家和州实现下拉菜单 州下拉列表应根据所选国家 地区更改其值 有没有任何插件或 gem 可以在 Rails 中执行此操作 尝试卡门插件 http autonomousmachine com posts 2009 4 1 carm
  • 如何在同一视图中渲染两个分页且可 ajax 的集合?

    在 Rails 3 2 索引视图中 我正在渲染两个部分 并且在部分 Show some fields 分页不起作用 如果我改变will paginate要获取实例变量 分页可以工作 但是集合错误 当调用部分时 如何将
  • Twitter Bootstrap Modal 无法在 Rails 中工作

    我还很新Rails and to twitter bootstrap 我正在研究模态 但我收到了 NoMethodError 未定义的方法 渲染 当我删除 代码来自my release js erb页面 它消失但没有窗口出现 另外 还有错误
  • 在 Rails 中使用 config.assets.precompile 将资源包含在子目录中

    我有一个在 Heroku 上运行的 Rails 3 1 3 应用程序 通过 S3 进行资产托管asset sync 包含在我的app assets css目录是一个包含两个文件的子目录 main css scss and categorie
  • ActiveRecord 和关联排序

    我有一个像这样的简单 AR 关联 Question has many answers Answer belongs to question with question id int 11 NOT NULL is accepted tinyi
  • 使用 Rails3-autocomplete gem 时出现“自动完成方法不存在”错误

    在我的rails应用程序中 我尝试使用rails3 jquery autocomplete gem 我在 Gemfile 中包含了以下行 gem Rails3 jquery autocomplete 并提供捆绑安装及其在 gems 中列出
  • 安装适用于 Windows 7 的 Ruby on Rails(最新)

    我是一名设计师 而不是一名编码员 并且在首次安装时遇到了问题 我下载了 Rails 1 8 6 和 Instant Rails 我打开控制台并尝试更新 gem 那里没有任何作用 我想我会删除所有内容并重新开始 因为我确信我现在破坏了某些东西
  • ActiveRecord::Enum - PG::InvalidTextRepresentation:错误:整数输入语法无效:

    我遇到了一个奇怪的错误 希望有人能指出我正确的方向 我有一个名为 组织 的模型和一个名为 组织 的属性department 请参阅下面的架构摘录 t integer department default 0 在我的模型内部已经定义了这个属性
  • 通过sprocket动态渲染sass文件

    我想从助手那里渲染一些变量 scss erb模板使用了image url 萨斯函数 template scss erb background image image url 到目前为止 ERB 部分很简单 利用这个堆栈溢出答案 https
  • 将用户输入转换为整数

    所以我有一个用户可以输入价格的表格 我正在尝试创建一个 before validation 来规范化数据 如果用户放置 则剪裁它 before validation do unless self price blank then self
  • aws-s3 gem 和 right_aws gem 之间的 Rails Paperclip 冲突。怎么解决?

    对于新应用程序 我想使用回形针将文件存储到 S3 我已经为另一个应用程序安装了 aws s3 gem 这似乎会导致一些问题 因为 Paperclip 应该使用 right aws 但正在尝试使用 aws s3 gem 但我不想从我的系统中删
  • Rails:为什么我的所有 scss 文件都没有被编译?

    我是 Rails 的初学者 我认为我还不清楚如何组织样式表 目前 我的资产 样式表中有两个文件 应用程序 css home css 当我运行 rake assets precompile 我意识到只有 application css 被编译
  • 如何安装gitlab-rails?

    我正在尝试为 Gitlab 项目创建一个组访问令牌 它需要访问 gitlab rails 控制台才能执行此操作 在 gitlab 教程上 这是安装它的链接 https docs gitlab com ee administration op
  • 将 YAML 文件作为常量加载到 Rails 控制器中是否有效?

    我有几个大型数组需要可用于特定视图 目前 我将它们存储在 YAML 文件中并加载到控制器常量中 如下所示 我假设当 Rails 在环境设置期间加载文件时 这个常量存储在内存中 但我偏执地想知道每次访问该控制器时是否都在访问文件系统 谁能建议
  • 重写的方法仍然被调用

    我正在使用一个正在实现的库belongs to数据库中两个条目之间的关联 由于这不是我需要的行为 我想通过重写此方法prepend 但 pry 告诉我 原来的方法仍然被调用 我仔细检查了一下 我使用的是 ruby 2 0 前置的代码 mod
  • 使用 nginx 运行水豚

    是否可以使用 nginx 和乘客来运行水豚 而是 webrick Capybara 与 Cucumber 一起安装在 Rails 应用程序中 这很简单 你唯一要做的就是改变你的想法 水豚和黄瓜都不受本地环境的束缚 你可以测试位于互联网上的应
  • 如何在 Capybara 中重用代码

    我在 Rails 的功能测试中有一堆具有重复结构的代码 我想通过重用该结构来干燥我的规范 有什么建议么 一个例子是 feature Search page subject page it should display results do
  • 在控制器中调用模型方法

    我在这里遇到了一些困难 我无法成功调用属于ProjectPage model in the ProjectPage 控制器 我在我的ProjectPage控制器 def index searches Project published fi
  • 运行 cron 作业“require”时出错:无法加载此类文件——bundler/setup (LoadError)

    我已经使用 Capistrano 3 部署了应用程序 我不断收到以下错误 require cannot load such file bundler setup LoadError 这是 cron 选项卡列表 PATH home deplo
  • 使用 Remotipart 的 Rails AJAX 上传表单

    我一直在绞尽脑汁地试图让 AJAX 上传表单正常工作 我正在使用 Rails 3 2 我放gem remotipart gt 1 0 在我的 Gemfile 中 运行bundle install并且安装成功 我之前有这个非ajax上传表单

随机推荐

  • detectorClassPathResourcesToStage - 无法转换 url

    当我在 GCE 中运行 jar 时 出现以下错误 java jar mySimple jar project myProjcet Aug 13 2015 1 22 26 AM com google cloud dataflow sdk ru
  • 带有node-gyp的node.js应用程序无法在azure网站上部署

    我已经建立了一个 Azure 网站 并且正在尝试使用依赖于 node gyp 的示例应用程序 我得到这个 emote gt email protected cdn cgi l email protection install C DWASF
  • MVC 3 Razor _ViewStart 中的公共变量

    我正在 MVC 3 附带的新 Razor 引擎上构建一个网站 并且喜欢新语法 但是 我对使用公共属性 常量感到不知所措 我知道使用 WebForms 我们可以在代码后面添加公共属性 public string ImageFolder get
  • R 中 optim() 的优化(L-BFGS-B 需要“fn”的有限值)

    我在 R 中使用 optim 来求解涉及积分的可能性时遇到一些问题 我收到一条错误消息 optim par c 0 1 0 1 LLL method L BFGS B lower c 0 L BFGS B 需要 fn 的有限值 中的错误 下
  • 尝试使用 Mongoose 进行批量更新插入。最干净的方法是什么?

    我有一个集合 其中包含包含三个字段的文档 名字 姓氏和年龄 我试图找出 Mongoose 中的哪个查询可以用来进行批量更新插入 我的应用程序偶尔会收到具有相同三个字段的新对象数组 我希望查询检查文档中是否已存在名字和姓氏 如果存在 则更新年
  • WPF - 全局样式?

    有没有办法为我的 WPF 应用程序设置全局样式 我希望做的是将样式应用于所有也有图像子项的按钮 嗯 有点 这是您可以做的一种包罗万象的方法 将以下元素放入您的 App xaml 中 所有按钮都会发生变化 除了您手动应用样式的按钮 但是 如果
  • 需要正则表达式帮助

    我正在尝试替换两次或多次出现的 br like br br br 标签与两个一起 br br 具有以下模式 Pattern brTagPattern Pattern compile lt s br s s gt s 2 Pattern CA
  • php 包含打印 1

    我编写了以下代码 当我将 include 函数与旨在输出到页面的函数 例如 或 echo include foo php 结合使用时 它会返回包含内容 但在已包含的内容后面带有 1 echo include foo php 应该 inclu
  • 为什么“script”命令会生成 ^[ 和 ^M 字符以及如何使用 vim 搜索和替换删除它们?

    在linux上 使用bash shell 当我使用script命令时 生成的文件称为typescript 当我用 vim 打开该文件时 每一行都包含 M字符 并且有几行 由于我的彩色命令提示符 包含一个字符 我想用任何东西替换这些字符 从而
  • Delphi 2010 控制闪烁

    我一直在从 XP 操作系统升级或迁移我们的软件 以便能够在 Windows 7 下编译和运行 我们的软件开始出现我们在 Windows XP 下没有注意到的问题 目前 我正在处理 TForm 上闪烁的用户定义控件 它似乎时不时地闪烁 但并非
  • 从 PHP 启动守护进程

    对于网站 我需要能够启动和停止守护进程 我目前正在做的是 exec sudo etc init d daemonToStart start 守护进程已启动 但 Apache PHP 挂起 做一个ps aux透露sudo它本身变成了僵尸进程
  • 如何在 React Native 中使用 Platform.OS 来处理元素?

    我想在 IOS 上只使用 KeyboardAwareScrollView 而不使用任何功能 并给出下面的 android 代码 我知道我需要使用 Platform OS ios 但我不明白如何实现它 请帮我 render return
  • 以编程方式添加带有自动布局的 UISLider

    我正在尝试以编程方式将 UISlider 添加到我的视图中 包括约束 以便其宽度适应整个屏幕宽度 这是我到目前为止得到的 2 Add UISlider self slider UISlider alloc init self view ad
  • 当 JMS Prod 位于辅助 POJO 类中时,如何在事务中包含 JMS Producer

    简短的问题 有没有办法强制无状态 EJB 调用的 POJO 存在于 EJB 的上下文中 以便事务和资源注入可以在 POJO 中工作 具体来说 在我想要做的事情的上下文中 如何在 EJB 的事务中包含 POJO JMS 生产者 该生产者在调用
  • 在路由mvc 4中添加公司名称

    我一直在尝试为 Facebook 等用户提供在 URL 中添加公司名称的选项 http localhost 50753 MyCompany Login 我尝试过不同的网址 但没有成功 routes MapRoute name Default
  • HTTP 服务正在启动或停止。 Windows 7 上出现错误,请稍后重试

    我使用以下命令来停止 HTTP 服务 net stop http y 我收到以下错误消息 服务正在启动或停止 请稍后再试 现在 HTTP 服务处于中间状态 它既没有停止也没有开始 我应该怎么办 我读过一些类似的问题 但它们没有帮助 无法在
  • Python:当前目录是否自动包含在路径中?

    Python 3 4 通过阅读其他一些 SO 问题 似乎如果moduleName py文件位于当前目录之外 如果要导入它 必须将其添加到路径中sys path insert 0 path to application app folder
  • 在 Junit 测试中使用 ReflectionTestUtils.setField()

    我是 JUnittesting 的新手 所以我有一个问题 谁能告诉我为什么我们使用ReflectionTestUtils setField 在我们的 Junit 测试示例中 正如评论中提到的 java 文档很好地解释了用法 但我还想给你们举
  • ProgressBar.setInminateDrawable() 不起作用

    当我尝试更改我的 indeteminateDrawable 进度条就消失了 我必须更改我的进度条的可绘制对象 我尝试了invalidate requestLayout等 我不知道如何解决它 谢谢 这里的代码 progressBar setI
  • Rails actionmailer 打开主机电子邮件应用程序

    我想通过链接打开用户的默认邮件应用程序 附加附件 收件人 字段为空 主题和正文中包含一些预先填充的文本 使用 ActionMailer 我可以让它从我的 Gmail 帐户发送 但它不会打开默认的电子邮件应用程序 这是我在 ActionMai