在开发环境中覆盖ActionMailer的邮件地址

2024-02-23

在我的开发环境中,我在本地测试时使用生产数据库的副本。出于测试和防止向真实用户发送测试/开发电子邮件的原因,在开发模式下覆盖邮件地址的最佳方法是什么?

我知道我可以在每个邮件程序中编写逻辑,但我有几个,最好将它们全部放在一个地方。我可以覆盖mail()方法以某种方式使:to参数始终指向我指定的电子邮件地址?


我用一个ActionMailer拦截器 http://api.rubyonrails.org/classes/ActionMailer/Base.html#label-Observing+and+Intercepting+Mails因此,在开发或测试环境中发送的所有邮件都会发送到同一地址。像这样:

# config/initializers/override_mail_recipient.rb
if Rails.env.development? or Rails.env.test?
  class OverrideMailRecipient
    def self.delivering_email(mail)
      mail.to = '[email protected] /cdn-cgi/l/email-protection'
    end
    ActionMailer::Base.register_interceptor(OverrideMailRecipient)
  end
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在开发环境中覆盖ActionMailer的邮件地址 的相关文章

随机推荐

  • 如何定期唤醒我的应用程序

    我想在Android中做一个功能 比如提醒 我想在我的应用程序 活动未运行或者其 UI 不可见时启动它 它类似于提醒 在所需的时间唤醒应用程序 我没有使用过任何类型的后台任务或服务 所以我不知道该怎么办 或者我应该学习什么类型的课程或演示
  • 在 SQLite 中的 GROUP_CONCAT 函数中使用 ORDER BY 子句

    我不认为我可以使用ORDER BY里面的子句GROUP CONCAT功能 有谁知道一种棘手的方法来完成这种行为SQLite 我看到了这个question https stackoverflow com questions 1897352 s
  • 如何将由东北坐标和西南坐标组成的特定边界拟合到可见地图视图中?

    我需要在地图内适应特定的边界 我通过调用谷歌地理编码器并读取视口属性来获取边界 如下所示 northeast lat 30 4212235 lng 97 486942 southwest lat 30 1128403 lng 97 9991
  • 在加载的 ELF(.so 共享库)中挂钩并替换导出函数

    我正在编写一些 C 代码来将 so ELF 共享库 的某些函数加载到内存中 我的 C 代码应该能够重定向另一个加载到应用程序 程序内存中的 so 库的导出函数 这里有一些详细说明 Android 应用程序将加载多个 so 文件 我的 C 代
  • Google 登录:使用 google-auth Python 包时“未找到密钥 ID xxxx 的证书”

    我正在维护一个网站及其移动应用程序 iOS 和 Android 对于移动应用程序中的 Google 登录 我正在使用google auth Python 包 https github com googleapis google auth l
  • 知道任何体素图形 C++ 库吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 所以 我正在寻找带有 C 库 面向游戏 的体素图形引擎 只是为了好玩 这将是我第一次使用图形库 因此它不必非常复杂或强大 只需易于理解即可
  • 尽管allowtgtsessionkey注册表项无法检索TGT

    我正在尝试连接我们的 Windows 客户端应用程序以使用单点登录机制 我正在遵循可以找到的解释here http www javaactivedirectory com page id 196 我已经很难完成第一步 即获取登录用户的票证授
  • 尝试在构造函数中访问 @Inject bean 时出现 NullPointerException

    我有一个会话范围的 bean Named SessionScoped public class SessionBean implements Serializable private String someProperty public S
  • JTable更改列字体

    我正在制作一个表格 我想在其中制作具有更高字体大小的第一列 例如 在第 0 列中 我希望字体大小为 30 在第 1 3 列中 我希望字体大小为 13 这是我的代码 import java awt import java awt event
  • 当cmd以管理员身份运行时如何将输入发送到命令?

    我创建了一个将键盘输入发送到的应用程序cmd exe 这在运行时有效cmd作为普通用户但失败时cmd以管理员身份运行 这是我的代码 Var Wnd hwnd begin wnd FindWindow ConsoleWindowClass 0
  • 在 PostScript 中显示 Unicode 字符

    如何让我的 PostScript 程序显示 G 谱号字符Bravura https github com steinbergmedia bravura字体 根据这个SMuFL http www smufl org files smufl 0
  • 如何取数据?

    我正在学习使用神经网络 并且遇到了问题 我不知道如何转换神经网络的数据 据我了解 我需要对数据进行标准化 在标准化和学习之后 答案总是平均的 https jsfiddle net eoy7krzj https jsfiddle net eo
  • 奇怪的方法行为 - 函数的 ToString

    考虑这个代码片段 class Program static void Main string args Console WriteLine Test ToString static IEnumerable
  • 如何使用 Azure API Manager 缓存存储值策略存储 JSON 有效负载?

    再会 我尝试使用 缓存存储值 策略将传入的 JSON 负载存储到 Azure API Manager 内部缓存中 密钥将是有效负载内的字段之一 我能够提取密钥 但是当我尝试存储有效负载时 我收到错误 表达式求值失败 未将对象引用设置为对象的
  • 尝试使用 SQL 从多个表中删除

    我的应用程序中有 4 个表 User usession upklist 项目共享 最后三个表包含一个名为session id 在下面的代码中 括号中的部分用于获取所有session id值来自usession用户 awpeople 的表 问
  • Apache Beam 每用户会话窗口未合并

    我们有一个有用户的应用程序 每个用户每次使用我们的应用程序大约 10 40 分钟 我想根据发生的特定事件 例如 该用户已转换 该用户上次会话出现问题 该用户上次会话成功 在此之后 我想计算每天这些更高级别的事件 但这是一个单独的问题 为此
  • 如何在 Jupyter 中将变量从 javascript 传递到 python?

    据我了解 我应该能够打印变量foo在下面的代码片段中 from IPython display import HTML HTML print foo 相反 我看到以下错误消息 NameErrorTraceback most recent c
  • 在.NET中设置打印机“保留打印文档”属性

    这就是我们正在尝试做的事情 我们希望以一种不引人注目的方式获取客户在其计算机上打印的所有内容 我们所有的客户都运行 POS 系统并专门使用 Windows XP 并将其发送给我们 我们决定最好的方法是创建一个 c 向我们发送假脱机文件的应用
  • 如何将文本 URL 转换为 PHP 页面中的可点击链接?

    我确信这是一个非常简单 明显的答案 但我的大脑已经崩溃了 我似乎无法理解它 我有一个 PHP 站点 允许用户将信息发布到 mySQL 中的文本字段 这些帖子都可以在线查看 在发布 编辑模式下 该字段是 HTML 表单中的文本区域 在阅读模式
  • 在开发环境中覆盖ActionMailer的邮件地址

    在我的开发环境中 我在本地测试时使用生产数据库的副本 出于测试和防止向真实用户发送测试 开发电子邮件的原因 在开发模式下覆盖邮件地址的最佳方法是什么 我知道我可以在每个邮件程序中编写逻辑 但我有几个 最好将它们全部放在一个地方 我可以覆盖m