标签: griddler

Rails Griddler和对话/电子邮件线程

我正在努力弄清楚如何最好地连接/线程化一系列电子邮件.这似乎是一个常见的问题,我很惊讶我无法轻易找到其他人如何处理它的信息.我发现的唯一一件事是关于JWZ线程的帖子,它更关注在一封电子邮件中解析一个线程.我想知道是否有人能指出我当前的一些解决方案.

我正在使用thinkbot griddler gem来处理传入的电子邮件到模型Message(s)和单独的模型Contact(s),我有第三个用于存储回复的模型,例如Reply.

我目前的想法是通过独特的联系方式和主题来描述它们.但话题再次略有改变.例如来自"这个主题" - >"Re:re:这个主题"我可以使用正则表达式尝试解析"re:"s或者我可以使用类似amatch的东西进行字符串比较?

但话又说回来,2个月后为同一个用户出现的同一主题该怎么办?还添加一些关于当前日期的逻辑,以便线程仅使用最近的电子邮件.那么电子邮件标题本身可能还有其他有用的内容吗?

  • 用户(按唯一的电子邮件地址)
  • 唯一主题行(正则表达式:处理问题?)
  • 当前日期(电子邮件必须是相对于彼此的日期)
  • 在电子邮件标题中寻找的其他一些线索?

我粗略地想知道如何做到这一点,我只是好奇地看到一些当前的实现,我似乎无法找到任何.

任何指针将不胜感激!

email ruby-on-rails email-threading ruby-on-rails-4 griddler

17
推荐指数
1
解决办法
943
查看次数

Rails控制器中的未定义方法渲染 - 尝试使用200状态代码响应Sendgrid

我正在使用Sendgrid Parse API和Griddler gem接收传入的电子邮件.在大多数情况下,这很好用; 但是,如果您没有使用状态代码200响应Sendgrid,他们将认为应用程序没有正确接收POST请求并继续尝试发布3天的POST.我正在尝试回复状态代码并遇到问题.

在常规RESTful路由中,您可以执行类似...

render :status => 200
Run Code Online (Sandbox Code Playgroud)

但是,我相信这必须在控制器中完成以识别渲染方法.Griddler建议您创建一个EmailProcessor模型并使用"进程"方法来处理电子邮件.

据我所知,你不能在模型中使用render方法.因此,我使用类方法创建了一个EmailProcessorsController类,如下所示.

class EmailProcessor < ActiveRecord::Base

  include ApplicationHelper

  def initialize(email)
    @email = email
    @to = email.to # this is an array
    @from = email.from
  end

  def process
    # do other stuff
    EmailProcessorsController.render_ok
  end
end 

class EmailProcessorsController < ActionController::Base

  def self.render_ok
    render :status => 200
  end
end
Run Code Online (Sandbox Code Playgroud)

以下是我从我的应用程序获得的错误.它不喜欢渲染方法:(

NoMethodError (undefined method `render' for EmailProcessorsController:Class):
  app/controllers/email_processors_controller.rb:6:in `render_ok'
  app/models/email_processor.rb:16:in `process'
Run Code Online (Sandbox Code Playgroud)

我是一个新的开发者,这可能是简单的东西,但我被卡住了.任何关于问题和设计的想法和评论都非常感谢.谢谢!

UPDATE!

根据@meagar的建议,我将渲染调用移动到控制器,如下所示,但现在我得到了一个不同的错误,我不知道该怎么做.

class EmailProcessorsController < ApplicationController

  def initialize(email)
    @email = email
    @to …
Run Code Online (Sandbox Code Playgroud)

ruby model-view-controller ruby-on-rails sendgrid griddler

6
推荐指数
1
解决办法
4360
查看次数

如何在Postman中使用SendGrid的Inbound Parse Webhook示例?

我试图弄清楚为什么传入的电子邮件在我的Ruby on Rails应用程序中使用Griddler和SendGrid删除了段落.为此,我想使用Postman模拟入站电子邮件.

SendGrid有一个示例'Default Payload',如下所示:

[Date] array(16) {
  ["headers"]=>
  string(1970) "Received: by mx0047p1mdw1.sendgrid.net with SMTP id 6WCVv7KAWn Wed, 27 Jul 2016 20:53:06 +0000 (UTC)
Received: from mail-io0-f169.google.com (mail-io0-f169.google.com [209.85.223.169]) by mx0047p1mdw1.sendgrid.net (Postfix) with ESMTPS id AA9FFA817F2 for <parse@parse.yourdomain.com>; Wed, 27 Jul 2016 20:53:06 +0000 (UTC)
Received: by mail-io0-f169.google.com with SMTP id b62so81593819iod.3 for <parse@parse.yourdomain.com>; Wed, 27 Jul 2016 13:53:06 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sendgrid.com; s=ga1; h=mime-version:from:date:message-id:subject:to; bh=DpB1CYYeumytcPF3q0Upvx3Sq/oF4ZblEwnuVzFwqGI=; b=GH5YTxjt6r4HoTa+94w6ZGQszFQSgegF+Jlv69YV76OLycJI4Gxdwfh6Wlqfez5yID 5dsWuqaVJZQyMq/Dy/c2gHSqVo60BKG56YrynYeSrMPy8abE/6/muPilYxDoPoEyIr/c UXH5rhOKjmJ7nICKu1o99Tfl0cXyCskE7ERW0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails sendgrid griddler postman

5
推荐指数
1
解决办法
697
查看次数

Sendgrid在本地接收电子邮件

我正在尝试使用rails应用程序中的'griddler'gem实现sendgrid解析API.问题是如何在本地测试?以及如何在我的本地计算机上接收电子邮件.

ruby-on-rails sendgrid griddler

3
推荐指数
1
解决办法
858
查看次数