サーバーに送信される電子メールを受信するようにアプリケーションを構成するにはどうすればよいですか。
割り当てたとおりにメールをメールIDに簡単に送信するRailsアプリケーションがありますが、解析APIからメールオブジェクト(ヘッダー、フッター、本文など)を取得するためにコントローラーに何を書き込むべきかわかりません。
私はレールに慣れていないので、経験豊富な人々が集まって返信し、sendgridapiをより有益なものにするための基本的なトピックを作成したいと思います...
サーバーに送信される電子メールを受信するようにアプリケーションを構成するにはどうすればよいですか。
割り当てたとおりにメールをメールIDに簡単に送信するRailsアプリケーションがありますが、解析APIからメールオブジェクト(ヘッダー、フッター、本文など)を取得するためにコントローラーに何を書き込むべきかわかりません。
私はレールに慣れていないので、経験豊富な人々が集まって返信し、sendgridapiをより有益なものにするための基本的なトピックを作成したいと思います...
MXレコードが既に構成されており、SendGridバックエンドで解析設定が設定されていることを前提としています。これは、コードの観点からは次のようになります。
config/routes.rb
メッセージを受け入れるルートを定義する必要があります。
# /inbound
match '/inbound' => 'messages#inbound', :via => :post
私の例では、これはファイルになりますapp/controllers/messages_controller.rb
。パラメータをログに記録するだけですが、そのビットを独自のロジックに置き換える必要があります。重要なのは、200
応答コードを返すことです。
class MessagesController < ApplicationController
def inbound
puts "*"
puts params
puts "*"
render :json => { "message" => "OK" }, :status => 200
end
end
上記のコードの結果は、これらの行に沿ってRailsサーバーの出力に何かを記録します。
**************************************************
{
"headers" => "Received: by 127.0.0.1 with SMTP ..."
"attachments" => "0",
"dkim" => "{@sendgrid.com : pass}",
"subject" => "Hello world",
"to" => "foo@snailgrid.com",
"html" => "<div>... </div>",
"from" => "Swift <swift@sendgrid.com>",
"text" => "Some text body",
"envelope" => "{\"to\":[\"foo@snailgrid.com\"],\"from\":\"mike.swift@sendgrid.com\"}",
"SPF" => "pass",
"controller" => "messages",
"action" => "inbound"
}
**************************************************