SendGridのサイトのドキュメントに従っていると思いますが、これまでのところ、APIを介して送信した電子メールを受信すると、x-smtpapiヘッダーで指定した置換を置き換えることはありません。HTTPartyを使用して、次のようなリクエストを送信しています。
HTTParty.post(Sendgrid::Postman.api_url, {
:query => params.merge({ "api_user" => @config[:api_user], "api_key" => @config[:api_key] }),
:headers => headers, :format => :json
})
「パラメータ」は次のようになります。
{"from"=>"noreply@foo.com", "text"=>"Happy Holidays -first_name- -last_name-,\nI hope this message finds you in good health and high spirits.", "to"=>["foo@gmail.com"], "subject"=>"foo"}
ヘッダーは次のようになります。
{"X-SMTPAPI"=>"{\"sub\": {\"-first_name-\": [\"Foo\"], \"-email-\": [\"foo@gmail.com\"], \"-login-\": [\"heavysixer\"], \"-last_name-\": [\"Bar\"]}, \"to\": [\"foo@gmail.com\"]}"}
メールは常に正常に配信されますが、受信トレイに到着すると、置換されるはずの値は-first_name-&-last_name-のように表示されます。
私は何が欠けていますか?私は今、しっかりした一日のためにこれをいじっていますか?
-------------------------------------------------- ---------
更新:以下のアドバイスに従って、x-smtpapiパラメータをフォーム投稿にプッシュしようとしましたが、同じ結果が得られています。私の投稿のクエリ文字列は次のようになります。
params = {"api_user" => 'foo', "api_key" => 'bar', "from"=>"noreply@foo.com", "text"=>"Happy Holidays -first_name- -last_name-,\nI hope this message finds you in good health and high spirits.", "to"=>["foo@gmail.com"], "subject"=>"foo", "x-smtpapi"=>{"sub"=>{"-first_name-"=>["foo"], "-email-"=>["foo@gmail.com"], "-login-"=>["foo"], "-last_name-"=>["bar"]}}}
HTTParty.post(Sendgrid::Postman.api_url, :query => params, :format => :json)