Sendgrid-nodejs: 添付ファイルのカスタムヘッダー

作成日 2016年03月28日  ·  41コメント  ·  ソース: sendgrid/sendgrid-nodejs

やあ、

sendgridを使用して、メール本文とともにiCal(ics)ファイルを添付しています。 icsファイルのコンテンツタイプを「text / calendar」に設定することはできますが、追加のヘッダー「method = REQUEST」を設定して、電子メールクライアントが添付ファイルをカレンダーイベントとして認識しないようにすることはできません。

添付ファイルごとにカスタムヘッダーを設定することはできますか?

よろしく

non-library issue

全てのコメント41件

こんにちは@mindnuts

私は上手く理解できていない気がします。 私が理解していることを確認させてください:

  1. iCalが添付されたメールがあります
  2. その電子メールにヘッダーを追加したい(例:X-Header:method = Request)
  3. 現在、ヘッダーを追加することはできません。 何を試しましたか?

ありがとう!

@thinkingserious

Eメール・オブジェクトを作成するときに、我々はファイルの配列を作成しているとの.icsファイルのための「テキスト/カレンダー」に「のcontentType」を設定します。 Outlookによってicsファイルが正しく検出されるようにするには、添付ファイルのヘッダーにmethod = REQUESTも設定する必要があります。

Content-Type: text/calendar; charset=UTF-8; method=REQUEST

これはsendgridクライアントで可能ですか?

set thisヘッダーを使用しているコードを共有していただけますか?

@thinkingseriousここに行きます:

var sendgrid  = require('sendgrid')('YOUR_SENDGRID_API_KEY');

var email = new sendgrid.Email({
  to:       '[email protected]',
  from:     '[email protected]',
  subject:  'Hello World',
  html: 'My first email <b>through SendGrid.</b>',
  text:     'My first email through SendGrid.'
});

email.addFile({
  filename: 'calendar.ics',
  path: './calendar.ics',
  contentType: 'text/calendar'
});

sendgrid.send(email, function(err, json) {
  if (err) { return console.error(err); }
  console.log(json);
});

この添付ファイル用にSendgridによって生成されたヘッダーは次のとおりです。

Content-Disposition: attachment; filename="calendar.ics"
Content-Transfer-Encoding: base64
Content-Type: text/calendar; charset=utf-8; name="calendar.ics"

私が欲しいのは(REQUESTは単なる例です):

Content-Type: text/calendar; charset=utf-8; method=REQUEST; name="calendar.ics"

ありがとう、その例は非常に役に立ちます。

headersパラメータを使用してヘッダーを直接設定しようとしましたか?

@thinkingserious電子メールのヘッダーを設定したくないので、電子メールに追加された添付ファイル(私の場合は.icsファイル)のカスタムヘッダーを設定できるようにしたいです。

よろしく
NS

更新してくれてありがとう、それは理にかなっています。

これは、v3ライブラリでは問題になりません。 今のところ、そのヘッダーを設定できる唯一の方法は、SMTPAPIを使用することです: https

@thinkingseriousご回答ありがとうございます。 V3のETAとは何ですか?

数か月以内にする必要があります。

@mindnuts

数週間後になりました。v3/ mail / sendエンドポイントはhttps://sendgrid.com/docs/API_Reference/Web_API_v3/Mail/index.htmlで確認でき、このライブラリの新しいバージョンはhttpsで確認できます。 ://github.com/sendgrid/sendgrid-nodejs/tree/v3beta

ご協力ありがとうございました!

こんにちは@thinkingserious

誰もがまだ解決策を待っていると思うので、私もそうです!
また、メソッドをREQUESTに設定して、問題が発生したいと思います。

アップデートはありますか? 2ヶ月経ちました!

ありがとう、
良い1日を、
ジェレミー

ねえ@thinkingserious

この問題のために私はまだロックされています!
更新はありますか? 解決策はありますか?

ありがとう、
ジェレミー

もう一度@thinkingseriousこれをすぐに解決する予定ですか?
本当に必要です!

+1

response: {
      "statusCode": 400,
      "body": {
        "errors": [
          {
            "message": "The attachment type cannot contain ';', or CRLF characters.",
            "field": "attachments.0.type",
            "help": "http://sendgrid.com/docs/API_Reference/Web_API_v3/Mail/errors.html#message.attachments.type"
          }
        ]
      },
      "headers": {
        "server": "nginx",
        "date": "Wed, 01 Mar 2017 04:43:59 GMT",
        "content-type": "application/json",
        "content-length": "216",
        "connection": "close",
        "x-frame-options": "DENY",
        "access-control-allow-origin": "https://sendgrid.api-docs.io",
        "access-control-allow-methods": "POST",
        "access-control-allow-headers": "Authorization, Content-Type, On-behalf-of, x-sg-elas-acl",
        "access-control-max-age": "600",
        "x-no-cors-reason": "https://sendgrid.com/docs/Classroom/Basics/API/cors.html"
      }
    }
}

私は何かが足りないのですか? 提案された解決策は何ですか? なぜこれは閉鎖されているのですか?

@pascalopitz

これは閉じるべきではありませんでした。 ヘッドアップをありがとう。

もう一度@thinkingseriousはこの問題を解決していますか?!

こんにちは@ataraxido

この問題は製品ロードマップにありますが、いつ配信されるかわかりません。

最近、この機能に対していくつかの新しい投票がありました。 それが起こったときはいつでも、私は優先順位を上げるのを助けるために製品チームを更新します。

敬具、

エルマー

@thinkingseriousこれは私たちにとっても非常に重要な機能であることを付け加えたいと

@hdornierに同意し

@thinkingserious 、あなたはこれが

こんにちは@ e99cog

以前に言った理由がわかりません:(

これがSMTPAPIを使用して機能するかどうかはわかりませんが、これがその使用方法のです。

敬具、

エルマー

ここも+1

結局、mailgunとそれが持つmessage.mimeエンドポイントを使用してこの問題を解決する必要がありました。これにより、mimeを明示的に送信できるようになりました。

sendgridはどのAPIでもこの機能を提供していますか?

こんにちは、みなさん!

SendGridの開発者エクスペリエンスプロダクトマネージャーであるマットです。 MIMEタイプから何が必要かについてもっと知りたいです。 私たちは通常、これをGoogleハングアウトとして行います。これにより、お客様のユースケースと必要なものの詳細について知ることができます。

私のカレンダーで時間を取ってください-https://calendly.com/matt-bernier/mail-send-mime-types

ありがとう!!

今後のプロジェクトでもこれを処理する必要があります-これにステータスはありますか? 2年になります。

+1
このためのETAはありますか?

私もこれにとても興味があります。 確かに、今までに答えを出すことは可能であるに違いありません。

私は物事を呪いたくはありませんが、バーディーは私たちがこれを展開するのに_超_近いと私に言います:)それがライブになったらここに更新を投稿します。

こんにちは、みんな!

この問題が解決され、修正が本番環境で公開されていることを発表できることにとても興奮しています。 それを試してみて、さらに問題が発生した場合はお知らせください。

これについてはもうしばらくお待ちください。

敬具、

エルマー

@thinkingseriousそれは素晴らしいニュースです! 次に取るべきステップを理解するのを手伝ってもらえますか? 追加のヘッダー> method = REQUESTのサポートは提供されていますか?

こんにちは@thinkingserious

試したところ、まだエラーが発生します(APIを使用):

{"errors":[{"message": "添付ファイルの種類に ';'またはCRLF文字を含めることはできません。"、 "field": "attachments.0.type"、 "help": " http:// sendgrid。 com / docs / API_Reference / Web_API_v3 / Mail / errors.html#message.attachments.type "}、{" message ":"添付ファイルの種類に「;」またはCRLF文字を含めることはできません。 "、" field ":"添付ファイル。 1.type "、" help ":" http://sendgrid.com/docs/API_Reference/Web_API_v3/Mail/errors.html#message.attachments.type "}]}

これが私がAPIAPIを使ってやっていることです:

$ attachment-> setType( 'text / calendar; charset = "UTF-8"; method = REQUEST');

問題は解決しましたか? 私たちは何をすべきか ?

ありがとう

@ataraxidoそれは私のために働く
"attachments": [{ "content": "QkVHSU46....EQVINCg==", "type": "text/calendar; method=REQUEST", "filename": "file1.ics" }]

202を返し、メールを送信しました

@ataraxidoさん、SendGridがこのフィールドを自動的に追加するため、文字セットを指定する必要はありません(text / html、text / plainにも同じことが当てはまります)。 別のショットを与えて、それがうまくいくかどうかを知らせてください🤞

@ataraxido

どこでそれを機能させることができますか?

こんにちは@abhilashabhatia

はい、 "type": "text/calendar; method=REQUEST"実行できるようになりました。 問題が発生した場合はお知らせください。

こんにちは@thinkingserious

「header」method = REQUESTを送信できましたが、Outlook内で正常に機能するインラインICSを送信できませんでした。
このカスタム「ヘッダー」と一致していても、イベントは添付のICSを思い出させます。

これは、すべての顧客にとってかなり幅広いユースケースだと思います。 実例やハウツーはありますか?

ありがとう

@ataraxidoからのコメントに+ @thinkingseriousで入手できます

@ataraxido @tetreault

明確にするために、添付ファイルとして送信することはOutlookで機能しますが、インラインでは機能しませんか?

これは現在バックログにあり、コミュニティの誰かがPRを提供したい場合に備えて問題を作成しました。

@thinkingserious実際にはICSは電子メールにインライン化されていますが、Outlookはそれを添付ファイルと見なすため、電子メールのインラインイベントの予想される動作/表示があります。
なぜだろう、色んなことをやってみた。 通常のICSインライン化は7ビットであるのに対し、インラインアイテムを強制的にbase64でエンコードすることが原因である可能性があります。

こんにちは@ataraxido

精緻化してくれてありがとう、あなたはエンコーディングに関して何かをしているかもしれないと思います。

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

amlcodes picture amlcodes  ·  4コメント

agostonbonomi picture agostonbonomi  ·  3コメント

wooyah picture wooyah  ·  4コメント

murphman300 picture murphman300  ·  4コメント

kiranshashiny picture kiranshashiny  ·  4コメント