问题标签 [mailman-gem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
462 浏览

ruby - 我应该如何测试 Mailman 应用程序

我正在尝试为我的应用程序编写一些规范,以处理和重新发送传入的电子邮件。它是用 Mailman 应用程序构建的。我没有找到任何关于如何做到这一点的好例子。我真正尝试的是创建电子邮件(使用 Mail gem)并使用 Mailman 处理它。但是只能选择使用 stding 进行测试。

那么,是否有任何为测试邮递员应用程序而编写的规范示例?

0 投票
2 回答
881 浏览

ruby-on-rails - 接收和处理电子邮件:Heroku、Sendgrid,可能还有 Mailman

我的应用程序为每个用户创建一个唯一的电子邮件,用户将电子邮件发送到该地址进行处理。使用 Sendgrid,我将传入的电子邮件通过管道传输到我的域(托管在 Heroku 上)到一个地址:

我使用 TO 字段来确定用户,因为电子邮件地址是随机生成的。

我已经尝试过使用像Mailman这样的外部脚本,但由于我托管在 Heroku 上,我需要有一个全职工作人员来保持这个过程的进行。目前并没有真正为这个测试应用程序寻找那个。

剩下的就是将其作为 POST 请求进行处理。我可以在 receive_emails 访问 POST 哈希(参数 [“主题”] 等)。

这是我卡住的地方

您是否建议处理来自 POST 参数的原始数据,或者我可以使用 Mailman 或 ActionMailer 之类的东西为我处理电子邮件?

0 投票
1 回答
315 浏览

ruby-on-rails - 如何使用 mailman gem 获取电子邮件发送日期和时间?

我制作了一个脚本来从电子邮件帐户获取传入消息。有没有办法在不使用正则表达式解析的情况下获取消息发送日期时间message.header

0 投票
0 回答
257 浏览

ruby-on-rails - Rails Action Mailer - 去除页脚信息

用户可以接收发送到人员列表的电子邮件。他们会收到一条警告,告知他们可以随时取消订阅此列表。用户可以回复全部,回复将被发送回服务器并重新发送给其他人。但是,页脚仍然保留在他们的回复中。

我正在使用 ActionMailer 发送电子邮件。它们是多部分 HTML 电子邮件。

剥离这些信息的最简单方法是什么?理想情况下,我希望它不会将回复消息的任何部分内置到消息部分中。

在此处输入图像描述

编辑:更多信息

将此视为支持票务。我只想创建一个包含回复信息的新记录,而不是工单中已有的回复链。例如,如果发送的第一封电子邮件包含“我需要帮助!”,那么第二封回复将包含“帮助什么?”。第三个回答是“我不知道……我很无聊”。

票证模型将具有三个记录:

  1. 记录 1

    编号 = 1

    message = "我需要帮助!"

  2. 记录 2

    编号 = 2

    message = "帮助什么?"

  3. 记录 3

    编号 = 3

    message = “我不知道……我很无聊”

编辑

我能够通过使用 a 作为消息的一部分来剥离内容。但是,我现在遇到的问题如下。各种电子邮件客户端将添加自己的回复行。例如,Outlook 会添加此内容。

在此处输入图像描述

Gmail 添加了这个

在此处输入图像描述

由于这些项目将包含在新的块引用剥离中,我该如何解析这部分回复,以防止出现带有垃圾数据的乱码票记录。

0 投票
0 回答
247 浏览

ruby-on-rails - 如何使诸如“script/mailman_server”之类的脚本适用于 Rails 应用程序中的多个用户

我有一个 Rails 应用程序,它使用 mailman gem(链接)来收集入站 pop3 邮件并处理它们。这一切都很好,但现在我希望有多个用户注册并从他们的 pop3 配置中接收邮件。Mailman 在“script/mailman_server”中运行,我不熟悉如何使脚本(运行自己的进程)为多个用户工作。任何人都可以就该主题启发我或链接到涉及该主题的资源吗?

这是我现在的代码

0 投票
1 回答
188 浏览

ruby-on-rails - 如何从 mailman rails 获取主题、来自和正文

我有这样的代码

如何从 Rails 中的电子邮件中获取主题、来自和正文?

0 投票
2 回答
1099 浏览

ruby-on-rails - Mailman 多次保存邮件

我已将 mailman gem 集成到我的 rails 项目中。它成功地从 gmail 获取电子邮件。在我的应用程序中,我的电子邮件有一个模型消息。电子邮件已正确保存为消息模型。

问题是电子邮件有时会被保存多次,我无法识别模式。有些电子邮件保存一次,有些保存两次,有些保存三次。

但是我在我的代码中找不到失败。

这是我的 mailman_server 脚本:

脚本/mailman_server

电子邮件在我的 Message 类中处理:

我已经用这个脚本守护了 mailman_server:

脚本/mailman_daemon

我用 capistrano 部署。

这是负责停止、启动和重新启动我的 mailman_server 的部分:

脚本/部署.rb

是不是在我的部署过程中几乎同时启动了多个 mailman 服务器实例,然后每个实例几乎同时轮询?第一个实例之前的第二个和第三个实例池将电子邮件标记为已读并轮询和处理电子邮件吗?

更新 30.01。

我已将轮询间隔设置为 60 秒。但这没有任何改变。

我检查了存储 mailman pid 文件的文件夹。只有一个邮递员 pid 文件。所以肯定只有一个 mailman 服务器在运行。我检查了日志文件,可以看到消息被多次获取:

所以在我看来,问题肯定出在我的邮递员服务器代码中。

更新 31.1。

在我看来,这与我的生产机器有关。当我在开发中使用完全相同的配置进行测试时(今天早上将我的本地数据库从 sqlite 更改为 mysql 进行测试),因为在生产机器上我没有得到重复。我的代码可能一切正常,但生产机器有问题。会问我的主人他们是否能找到解决方案。为了解决这个问题,我将采用 Ariejan 的建议。

解决方案: 我发现了问题。我部署到一台机器,其中 tmp 目录是所有版本之间共享的目录。我忘了定义应该保存 mailman_daemon 的 pid 文件的路径。所以它被保存在脚本目录而不是 /tmp/pids 目录中。因此,旧的 mailman_daemon 在新部署后无法停止。这导致了一大群工作的 mailman_daemons 正在轮询我的邮件帐户......在杀死所有这些进程之后一切顺利!不再重复!

0 投票
1 回答
221 浏览

ruby-on-rails - AWS Elastic Beanstalk 上的始终在线 Mailman 接收器

我编写了一个 rails 应用程序,它使用 mailman-rails gem 来检查 Gmail 收件箱中的新邮件,并在阅读后将它们拉入。它使用 mailman-rails 让一个永远在线的 mailman 监听器监视收件箱中的新消息。

它在各个方面都运行良好,除了当我实时推送到托管在 AWS 上的生产服务器时,邮递员服务器的运行时间永远不会超过 24-36 小时。我正在检查日志,我没有看到任何导致邮递员侦听器关闭的严重错误记录,所以我猜它只是在杀死自己或超时?

或者 AWS EB 的弹性特性是否会导致服务器定期重新启动,这显然会关闭邮递员?

现在,我每次使用 rake mailman:start 手动 SSH 到服务器以在 mailman 上运行。我应该怎么做?

或者我如何编写一个脚本,每 5 小时左右手动重新启动 mailman 以确保它始终处于开启状态?

0 投票
0 回答
119 浏览

ruby-on-rails - 部署 mailman 以便无人值守运行的一般最佳实践是什么?

我收到邮件,gem mailman但工作一段时间后它要么挂起,要么死机。

由于周期性连接错误,我已经在循环中运行它:

但这还不够,有时它只是冻结,我(用 Ctrl-C 恢复它)[ https://github.com/titanous/mailman/issues/106](它在 中运行screen)。但是在运行一段时间后它吐出了一个新的Net::IMAP::NoResponseError,所以我从两个错误中解救出来:

无人值守运行 mailman 的最佳实践是什么?是否有我应该从中拯救的错误列表?

更新

今天它与一些Undefined method logout for NilClassimap.rb. 有没有更好的方法来处理传入的电子邮件?

0 投票
0 回答
137 浏览

ruby-on-rails-4 - 在 Rails 4 中使用 mailman gem 接收来自多个帐户的电子邮件

我想在 Rails 中使用 mailman gem 访问多个帐户。有没有办法在 Rails 4 中的单个 mailman 进程中打开多个帐户?