рдирдорд╕реНрдХрд╛рд░,
рдореИрдВ рд╡реЗрдм API v3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдХреЗ рд╕рд╛рде рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдореЗрд▓ рдХреИрд╕реЗ рднреЗрдЬ рд╕рдХрддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ TO рдмреЙрдХреНрд╕ рдореЗрдВ рдХреЗрд╡рд▓ рдЕрдкрдирд╛ рдкрддрд╛ рджреЗрдЦрддрд╛ рд╣реИ? рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдореИрдВ рдиреЛрдбреНрдЬ, рд╡реЗрдм рдПрдкреАрдЖрдИ рд╡реА 3 рдФрд░ рдкреНрд░реЗрд╖рдХ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЗрд▓ рднреЗрдЬ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ TO рдмреЙрдХреНрд╕ рдореЗрдВ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛рдУрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА рдорд┐рд▓рддреА рд╣реИред рдпрд╣рд╛рдБ рдЕрдиреБрд░реЛрдз рд╣реИ:
var request = sg.emptyRequest({
method: 'POST',
path: '/v3/mail/send',
body: {
personalizations: [
{
to: recepientEmails,
substitutions: emailTemplate.substitutions
}
],
from: {
email: '[email protected]',
name: 'Dorotea from AWW'
},
template_id: emailTemplate.template_id,
categories: emailTemplate.categories
}
});
рдореИрдВрдиреЗ рдкрдврд╝рд╛ рд╣реИ рдХрд┐ Web API v2 рдХреЗ рд╕рд╛рде рдореБрдЭреЗ x-smtp рд╣реЗрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рддрд╛рдХрд┐ рдИрдореЗрд▓ рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рдпрд╣рд╛рдБ рднреЗрдЬрд╛ рдЬрд╛рдПред
https://sendgrid.com/docs/API_Reference/Web_API/mail.html
рдФрд░ рдореИрдВрдиреЗ рдкрдврд╝рд╛ рд╣реИ рдХрд┐ SMTP рдХреЗ рд╕рд╛рде Web API v2 рд╕реЗ рд╕рдм рдХреБрдЫ рдпрд╣рд╛рдБ рдХреЗрд╡рд▓ рдПрдХ рдЕрдиреБрд░реЛрдз рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Web API v3 рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
https://sendgrid.com/docs/Classroom/Send/v3_Mail_Send/how_to_migrate_from_v2_to_v3_mail_send.html
рд░реИрдк рдЕрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдПрдХ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рд╡реЗрдм рдПрдкреАрдЖрдИ v3 рдХреЗ рд╕рд╛рде рдХрдИ рдкрддреЗ рдкрд░ рдИрдореЗрд▓ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рд╣рд░ рдИрдореЗрд▓ рдХреЛ рдХреЗрд╡рд▓ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдИрдореЗрд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЗ рд▓рд┐рдП рд╣реИрдбрд░ рдореЗрдВред
рд╕рдм рдЕрдЪреНрдЫрд╛,
рдЬрд╝реНрд╡реЛрдирд┐рдорд┐рд░
рд╣рд╛рдп @ zvone187 ,
рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдкрддрд╛ рд▓рдЧрд╛ рд▓рд┐рдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╡реИрдпрдХреНрддрд┐рдХрд░рдг рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдХреЛрдб рдореЗрдВ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдЕрдиреБрд╡рд╛рдж рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
// This assumes every recipient gets the same substitutions. If not, just add the right substitution for each email
const personalizations = recipientEmails.map(email => ({
to: [{ email }],
substitutions: emailTemplate.substitutions
}));
const request = sg.emptyRequest({
method: 'POST',
path: '/v3/mail/send',
body: {
personalizations,
from: {
email: '[email protected]',
name: 'Dorotea from AWW'
},
template_id: emailTemplate.template_id,
categories: emailTemplate.categories
}
});
рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдПрдХ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛рдУрдВ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реАрдорд╛ рдХреНрдпрд╛ рд╣реИред
@iamtheib рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рд╕реЗрдирдЧреНрд░реЗрдб рд╕реЗ рдЬрд╡рд╛рдм рдорд┐рд▓рд╛ред рд╣рд╛рдВ, рдмрд╕ рдпрд╣реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред
рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЕрдиреБрд▓рдЧреНрдирдХ рднреЗрдЬрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ?
рдореБрдЭреЗ рдПрдХ рд╣реА рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдХрдИ рдИрдореЗрд▓ рднреЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡реНрдпрдХреНрддрд┐рддреНрд╡ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдЕрдиреБрд▓рдЧреНрдирдХ рдлрд╝рд╛рдЗрд▓ред
@ рдбрд╛рдпрдорд┐рдерд┐рдм ,
рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдХреГрдкрдпрд╛ рдЗрд╕ рдлреЙрд░реНрдо рдХреЛ рднрд░реЗрдВ рдФрд░ рд╣рдо рдЖрдкрдХреЛ рдХреБрдЫ рд╕реНрд╡реИрдЧ рднреЗрдЬреЗрдВрдЧреЗ :)
рд╢реБрднрдХрд╛рдордирд╛рдПрдВ,
рдПрд▓реНрдорд░
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рд╣рд╛рдп @ zvone187 ,
рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдкрддрд╛ рд▓рдЧрд╛ рд▓рд┐рдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╡реИрдпрдХреНрддрд┐рдХрд░рдг рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдХреЛрдб рдореЗрдВ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдЕрдиреБрд╡рд╛рдж рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдПрдХ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛рдУрдВ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реАрдорд╛ рдХреНрдпрд╛ рд╣реИред