Estoy tratando de enviar un correo electrónico transaccional usando Sendgrid al momento de la reserva del cliente en una aplicación Rails.
Creé una plantilla dinámica según lo requerido. Cuando realizo una solicitud POST a https://api.sendgrid.com/v3/mail/send con POSTMAN usando el cuerpo correcto y mi clave API de Sendgrid, funciona, recibo el correo electrónico de confirmación.
Sin embargo, soy un novato de Rails y realmente no sé cómo proceder con el código proporcionado en los documentos:
require 'sendgrid-ruby' include SendGrid sg = SendGrid::API.new(api_key: ENV['SENDGRID_API_KEY'], impersonate_subuser: The subuser's username. This header generates the API call as if the subuser account was making the call.) data = JSON.parse('{ "name": "example_name", "generation": "dynamic" }') response = sg.client.templates.post(request_body: data) puts response.status_code puts response.headers puts response.body¡Gracias de antemano por tu ayuda!
Desarrollador evangelista de Twilio SendGrid aquí.
Consulte la documentación aquí que muestra todas las opciones que puede usar para enviar un correo electrónico con la biblioteca de Ruby (disculpe el uso de include ).
Basado en los documentos, aquí hay un fragmento rápido que debería cubrir sus necesidades:
require 'sendgrid-ruby' sg = SendGrid::API.new(api_key: ENV['SENDGRID_API_KEY']) mail = SendGrid::Mail.new mail.from = SendGrid::Email.new(email: "YOUR_FROM_ADDRESS") mail.subject = "Your fancy, exciting subject line" mail.template_id = "YOUR_TEMPLATE_ID" personalization = SendGrid::Personalization.new personalization.add_to(SendGridEmail.new(email: 'YOUR_CUSTOMER_EMAIL')) personalization.add_dynamic_template_data({ "name" => "example_name", "generation" => "dynamic" }) mail.add_personalization(personalization) sg.client.mail._("send").post(request_body: mail.to_json)Eche un vistazo a este ejemplo específico en los documentos de la biblioteca de SendGrid Ruby también .