Sendgrid-nodejs: tajuk khusus untuk lampiran

Dibuat pada 28 Mar 2016  ·  41Komentar  ·  Sumber: sendgrid/sendgrid-nodejs

Hai,

Kami menggunakan sendgrid untuk melampirkan file iCal (ics) bersama dengan badan surat. Kami dapat menyetel jenis konten ke "teks/kalender" untuk file ics, namun tidak mungkin menyetel header tambahan "metode=REQUEST" yang menyebabkan klien email tidak mengenali lampiran sebagai acara kalender.

Apakah mungkin untuk mengatur tajuk khusus untuk setiap lampiran?

Salam

non-library issue

Semua 41 komentar

Halo @mindnuts ,

Saya tidak yakin saya mengerti. Biarkan saya memastikan saya mengerti:

  1. Anda memiliki email dengan lampiran iCal
  2. Anda ingin menambahkan header ke email itu (mis. X-Header: method=Request)
  3. Saat ini Anda tidak dapat menambahkan header tambahan. Apa yang Anda coba?

Terima kasih!

@berpikir serius

Saat membuat objek email, kami membuat larik file ala dan menyetel "contentType" ke "teks/kalender" untuk file .ics. Agar file ics dideteksi dengan benar oleh Outlook, lampiran juga harus memiliki method=REQUEST yang disetel di header.

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

Apakah ini mungkin di klien sendgrid?

Bisakah Anda membagikan kode yang Anda gunakan untuk mengatur header ini?

@thinkingserious ini dia:

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);
});

Berikut adalah tajuk yang dibuat oleh Sendgrid untuk lampiran ini:

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

Yang ingin saya miliki adalah (PERMINTAAN hanyalah sebuah contoh):

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

Terima kasih, contoh itu sangat membantu.

Sudahkah Anda mencoba mengatur header secara langsung dengan param headers ?

@thinkingserious Saya tidak ingin mengatur tajuk email, saya ingin dapat mengatur tajuk khusus untuk Lampiran (file .ics dalam kasus saya) yang ditambahkan ke email.

Salam
M

Terima kasih atas pembaruannya, itu masuk akal.

Ini tidak akan lagi menjadi masalah dengan perpustakaan v3. Untuk saat ini, satu-satunya cara Anda dapat mengatur header itu adalah melalui SMTPAPI: https://github.com/sendgrid/smtpapi-nodejs

@thinkingserious Terima kasih atas tanggapan Anda. Berapa ETA untuk V3?

Seharusnya tidak lebih dari beberapa bulan.

@kacamata ,

Kami sekarang beberapa minggu lagi, Anda dapat memeriksa titik akhir v3 /mail/send di sini: https://sendgrid.com/docs/API_Reference/Web_API_v3/Mail/index.html dan versi baru perpustakaan ini di sini: https ://github.com/sendgrid/sendgrid-nodejs/tree/v3beta

Terima kasih atas dukunganmu!

Halo @thinkingserious ,

Saya kira semua orang masih menunggu solusi, saya juga!
Saya juga ingin mengatur metode ke REQUEST dan menghadapi masalah.

Apakah Anda memiliki pembaruan? Sudah 2 bulan!

Terima kasih,
Semoga harimu menyenangkan,
Jérémy

Hai @thinkingserious ,

Saya masih terkunci karena masalah ini!
Apakah Anda memiliki pembaruan? Ada solusi?

Terima kasih,
Jérémy

Sekali lagi @thinkingserious apakah Anda berencana untuk menyelesaikan ini segera?
Kami sangat membutuhkannya!

+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"
      }
    }
}

Apakah saya melewatkan sesuatu? Apa solusi yang diusulkan? kenapa ini ditutup?

@pascalopitz ,

Yang ini seharusnya tidak ditutup. Terimakasih atas peringatannya.

Sekali lagi @thinkingserious apakah Anda memecahkan masalah ini?!

Halo @ataraxido ,

Masalah ini ada di peta jalan produk, tetapi saya tidak tahu kapan akan dikirimkan.

Baru-baru ini, kami telah menerima beberapa suara baru untuk fitur ini. Kapan pun itu terjadi, saya memperbarui tim produk untuk membantu meningkatkan prioritas.

Salam hangat,

Elmer

@thinkingserious Hanya ingin menambahkan bahwa ini adalah fitur yang sangat penting bagi kami juga. Adakah pembaruan pada peta jalan produk?

Setuju @hdornier , saya akan menambahkan suara Anda ke masalah ini. Terima kasih telah meluangkan waktu untuk memilih!

@thinkingserious , Anda menyebutkan ini dapat dilakukan dengan smtpapi. Apakah Anda memiliki contoh ini? Bagian smtpapinya apa? Sebuah substitusi sederhana dari beberapa jenis?

Hai @e99cog ,

Saya tidak yakin mengapa saya mengatakan itu sebelumnya :(

Saya tidak tahu apakah ini akan berhasil menggunakan SMTPAPI, tetapi berikut adalah contoh penggunaannya.

Salam hangat,

Elmer

+1 di sini juga

Pada akhirnya, saya harus menyelesaikan masalah ini dengan menggunakan mailgun dan titik akhir message.mime yang dimilikinya, karena memungkinkan saya untuk mengirim mime secara eksplisit.

Apakah sendgrid menawarkan fitur ini di API apa pun?

Hai semuanya!

Saya Matt, Manajer Produk Pengalaman Pengembang di SendGrid. Saya tertarik untuk mempelajari lebih lanjut tentang apa yang Anda butuhkan dari tipe MIME. Kami biasanya melakukan ini sebagai google hangout, sehingga saya dapat mempelajari tentang kasus penggunaan Anda dan secara spesifik apa yang Anda butuhkan.

Silakan luangkan waktu di kalender saya - https://calendly.com/matt-bernier/mail-send-mime-types

Terima kasih!!

perlu menangani ini untuk proyek yang akan datang juga -- apakah ada status tentang ini? Sudah 2 tahun.

+1
Ada ETA untuk ini?

Saya juga sangat tertarik dengan ini. Tentunya, itu harus mungkin untuk menemukan jawaban sekarang.

Saya tidak ingin mengutuk hal-hal, tapi birdy memberitahu saya bahwa kita _super_ hampir menyebarkan ini :) Saya akan memposting pembaruan di sini setelah itu hidup.

Halo semuanya!

Saya SUPER EXCITED untuk mengumumkan bahwa masalah ini telah diselesaikan dan perbaikannya sedang dalam produksi! Silakan mencobanya dan beri tahu saya jika Anda mengalami masalah lebih lanjut.

Terima kasih atas kesabaran Anda dalam hal ini!

Salam hangat,

Elmer

@thinkingserious Itu berita bagus! Bisakah Anda membantu memahami langkah apa yang harus diambil selanjutnya? Apakah dukungan telah disediakan untuk header > method=REQUEST tambahan?

Halo @thinkingserious

Saya baru saja mencoba dan saya masih mendapatkan kesalahan (menggunakan API):

{"errors":[{"message":"Jenis lampiran tidak boleh berisi ';', atau karakter CRLF.","field":"attachments.0.type","help":" http://sendgrid. com/docs/API_Reference/Web_API_v3/Mail/errors.html#message.attachments.type "},{"message":"Jenis lampiran tidak boleh berisi ';', atau karakter CRLF.","field":"attachments. 1.type","help":" http://sendgrid.com/docs/API_Reference/Web_API_v3/Mail/errors.html#message.attachments.type "}]}

Inilah yang saya lakukan menggunakan API API:

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

Apakah Anda yakin masalah ini terpecahkan? Apa yang harus kita lakukan ?

Terima kasih

@ataraxido bekerja untuk saya
"attachments": [{ "content": "QkVHSU46....EQVINCg==", "type": "text/calendar; method=REQUEST", "filename": "file1.ics" }]

Dikembalikan 202 dan surat dikirim

Hai @ataraxido Anda tidak perlu menentukan rangkaian karakter karena SendGrid akan secara otomatis menambahkan bidang ini (hal yang sama berlaku untuk teks/html, teks/polos). Cobalah lagi dan beri tahu kami jika itu berhasil

@ataraxido ,

Di mana Anda bisa membuatnya bekerja?

Halo @abhilashabhatia ,

Ya, sekarang Anda dapat melakukan "type": "text/calendar; method=REQUEST" . Tolong beri tahu saya jika Anda mengalami masalah.

Halo @thinkingserious

Saya telah dapat mengirim "header" method=REQUEST tetapi saya belum dapat mengirim ICS sebaris yang berfungsi dengan baik di dalam Outlook.
Bahkan sejalan dengan "tajuk" khusus ini, acara tersebut mengingatkan ICS yang terlampir.

Saya pikir ini kasus penggunaan yang cukup luas untuk semua pelanggan Anda; apakah Anda memiliki contoh kerja atau bagaimana caranya?

Terima kasih

Memberi +1 pada komentar dari @ataraxido -- dapatkah kita mendapatkan contoh @thinkingserious

@ataraxido @tetreault ,

Hanya untuk memperjelas, mengirim sebagai lampiran berfungsi di Outlook, tetapi tidak sebaris?

Ini sekarang ada di simpanan kami dan saya telah membuat masalah jika seseorang di komunitas ingin menawarkan PR.

@thinkingserious sebenarnya ICS dimasukkan ke dalam email tetapi Outlook menganggapnya sebagai lampiran sehingga memiliki perilaku/tampilan yang diharapkan dari acara inline email.
Saya bertanya-tanya mengapa, mencoba banyak hal. Saya pikir itu bisa jadi karena Anda memaksa item sebaris untuk dikodekan base64 sedangkan inlining ICS khas ada di 7bit.

Halo @ataraxido ,

Terima kasih atas elaborasinya, saya pikir Anda mungkin mengetahui sesuatu tentang pengkodean.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat