Kalo te dokumentacioni
Baza e njohurive

Kalo nga SendGrid

Mbani SDK-në e SendGrid dhe dërgoni përmes OpenEmail. Ndryshoni URL-në bazë dhe çelësin e saj, dhe kodi juaj i dërgimit mbetet siç është.

Çfarë të ndryshoni

Drejtojeni SDK-në te https://api.openemail.uk/compat/sendgrid dhe jepini, në vend të çelësit të SendGrid, një çelës API të OpenEmail me lejen emails:send. Ai udhëton në të njëjtin header Authorization: Bearer. Thirrjet tuaja që dërgojnë postë mbeten siç janë, dhe adresa From vendos nëse një mesazh mund të niset, si kudo në OpenEmail.

import sgMail from '@sendgrid/mail'import client from '@sendgrid/client' client.setApiKey(process.env.OPENEMAIL_API_KEY)client.setDefaultRequest('baseUrl', 'https://api.openemail.uk/compat/sendgrid')sgMail.setClient(client) await sgMail.send({  from: '[email protected]',  to: '[email protected]',  subject: 'Your invoice',  html: '<p>Your invoice is attached.</p>',})

Në Node, vendosni së pari çelësin te klienti, pastaj URL-në bazë, dhe më pas ia jepni klientin paketës së postës. Mos e thirrni më sgMail.setApiKey pas kësaj, sepse ajo e kthen URL-në bazë te SendGrid. SDK-ja paralajmëron se çelësi nuk fillon me SG., gjë që është e padëmshme. Në Python, Ruby dhe PHP, jepeni hostin pa vijë të pjerrët në fund.

Çfarë i përgjigjet çfarës

Pika fundore që shërbehet është POST /v3/mail/send. Çdo element i personalizations bëhet mesazh më vete i OpenEmail me id-në e vet, ndaj një kërkesë dërgon jo më shumë se 100 mesazhe.

SendGridNë OpenEmail
fromDërguesi, me emrin e tij. Një personalizim mund të japë from e vet.
personalizationsNjë mesazh secili. to, cc dhe bcc e tij mbajnë bashkë deri në 50 marrës, dhe subject, headers, custom_args, send_at e substitutions të tij vlejnë vetëm për atë mesazh.
subjectSubjekti, përveç kur një personalizim vendos të vetin.
contenttext/plain bëhet trupi tekst dhe text/html trupi HTML. text/x-amp-html lihet jashtë, sepse trupi HTML e mbart tashmë mesazhin.
attachmentsSkedarë, jo më shumë se 20 dhe gjithsej 5 MB. Një imazh inline, content_id e të cilit HTML-ja e përdor si cid:, futet aty ku shfaqet. Çdo skedar tjetër inline mbërrin si bashkëngjitje e zakonshme.
reply_toAdresa e përgjigjes. Edhe reply_to_list funksionon, për sa kohë mban një adresë të vetme.
headersHeader-a të vetë: X-*, List-*, Reply-To, Precedence, Auto-Submitted, Importance, Priority dhe Feedback-ID. Një personalizim shton të vetët.
categoriesEtiketa me emrat category, category_2 e me radhë, secila me një kategori.
custom_argsEtiketa me të njëjtat emra dhe vlera. Vlerat e një personalizimi kanë përparësi.
send_atNjë dërgim i planifikuar, deri në një vit përpara. Një kohë që ka kaluar dërgon menjëherë.
substitutionsÇdo çelës zëvendësohet me vlerën e tij në subjektin, trupin tekst dhe trupin HTML të atij mesazhi.
template_idId-ja (tpl_...) ose slug-u i një shablloni të OpenEmail, i plotësuar nga dynamic_template_data.
tracking_settingsopen_tracking.enable dhe click_tracking.enable ndezin ose fikin ndjekjen e hapjeve dhe të klikimeve për mesazhin.
mail_settingssandbox_mode.enable kontrollon kërkesën, dërguesin dhe shabllonin, pastaj përgjigjet me 200 pa dërguar asgjë.

Një mesazh mbart jo më shumë se 10 etiketa, duke numëruar bashkë kategoritë dhe custom_args. Një kërkesë që ka nevojë për më shumë refuzohet në vend që të shkurtohet, që asgjë nga ato që dërguat të mos humbasë pa fjalë.

Çfarë refuzohet, dhe pse

  • Një id shablloni të SendGrid te template_id, si d-…. Shabllonet mbeten te SendGrid, ndaj krijojeni sërish shabllonin në OpenEmail dhe dërgoni id-në ose slug-un e tij.
  • content pranë template_id, sepse një shabllon i OpenEmail jep gjithë trupin. substitutions me një shabllon për të njëjtën arsye: kalojini vlerat te dynamic_template_data.
  • Më shumë se një adresë përgjigjeje, reply_to dhe reply_to_list bashkë, dhe lloje përmbajtjeje të tjera përveç tekstit dhe HTML-së. Dërgojeni një ftesë kalendari si bashkëngjitje .ics.
  • mail_settings.footer i ndezur, si edhe sections, sepse OpenEmail nuk shkruan tekst në mesazhin tuaj.
  • Më shumë se 10 etiketa, një emër etikete me diçka tjetër përveç shkronjave, shifrave, _ dhe -, një header jashtë listës më sipër, dhe më shumë se 100 personalizime në një kërkesë.

asm, batch_id, ip_pool_name, cilësimet bypass te mail_settings, subscription_tracking, ganalytics, click_tracking.enable_text dhe open_tracking.substitution_tag pranohen dhe nuk ndryshojnë asgjë. Adresat në listën e bllokimit të hapësirës së punës anashkalohen gjithmonë, çfarëdo që të thotë një cilësim bypass.

Përgjigjet dhe gabimet

  • Një dërgim përgjigjet me 202, me trup bosh dhe me id-në e mesazhit të OpenEmail te X-Message-Id, id-në që përdorin GET /emails/{id} dhe webhook-et. Me disa personalizime, ai mban id-në e mesazhit të parë. Një header Idempotency-Key funksionon si në pjesën tjetër të API-së.
  • Gabimet kthehen si errors, një listë me message, field dhe help: 400 për një kërkesë që nuk mund të dërgohet, 401 për një çelës që mungon ose është i panjohur, 403 për një çelës pa emails:send ose për një adresë From që çelësi nuk mund ta përdorë ose domeni i së cilës nuk mund të dërgojë ende, 413 për një trup mbi 30 MB ose bashkëngjitje mbi 5 MB, dhe 429 kur hapësira e punës ka shteruar kuotën e dërgimit.
  • Kur një personalizim dështon pasi të mëparshmit u pranuan, gabimi emërton mesazhet e dërguara tashmë, që një provë e re t’i lërë jashtë.