【问题标题】:Where are received mails by Mailcatcher stored?Mailcatcher 收到的邮件存储在哪里?
【发布时间】:2016-08-25 16:56:05
【问题描述】:

我已经在我的 Mac 上安装了 postfix,并更改了以下参数:

mydestination =
relayhost = 127.0.0.1:1025

我已将 mydestination 修改为空白,这样无论在终端中将邮件发送给谁,它都必须通过中继主机(即使它发送到@localhost),我可以看到它出现在我的 Web 浏览器中 Mailcatcher 的标签中:

echo "Body test" | mail -s "Subject test" test@dev.local

但事情是这样的,当我收到邮件时,我确实会使用内置的 websockets 立即收到它,但是如果我重新加载页面 localhost:1080,电子邮件仍然存在,这意味着它们必须存储在某个地方。

经过搜索,我发现以下 URL 重定向到一个 .json,其中包含接收到的邮件,这些邮件在 Mailcatcher 的选项卡中打印出来:

localhost:1080/messages

但如果我在我的 webroot 目录中执行 ls -l,则不会出现 messages.json。当你点击 Mailcatcher 中的“退出”按钮,然后通过 mailcatcher 重新启动它并再次打开 localhost:1080 邮件已经消失了......

我不明白,是否有一个文件在您单击“退出”时被删除并且我可能没有看到?

感谢您的帮助!

【问题讨论】:

    标签: mailcatcher


    【解决方案1】:

    如果您查看 GitHub 上的源代码,您会在 ma​​il.rb 中找到类似 SQLite3::Database.new(":memory:", :type_translation => true).tap do |db| 的内容。

    你可能没有注意到,但是 MailCatcher 使用的是 SQLite,上面告诉你它被配置为在内存中运行。因此,当关闭 MailCatcher 时,该数据库中包含的所有行都会丢失。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-27
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 2011-01-21
      • 2011-03-06
      • 2013-02-01
      • 1970-01-01
      相关资源
      最近更新 更多