Cómo habilitar el modo "sandbox", usando solo "@ sendgrid / mail"
Hola @CrazyGentleMan ,
Mis disculpas, parece que hemos omitido ese caso de uso aquí . Debe estar dentro de mail_settings
. Aquí está la carga útil completa como referencia.
He agregado esto a nuestro backlog.
Para que este problema gane prioridad en nuestra cartera de pedidos, necesitamos +1 adicionales o un PR. Cuando recibimos un PR, eso proporciona el mayor salto en prioridad.
¡Gracias!
Con los mejores deseos,
Elmer
¿Cómo va el plan para agregar el modo "sandbox" a "@ sendgrid / mail"?
¿Existe una alternativa para usar sandbox mientras tanto?
¡Gracias!
Como se mencionó anteriormente, es posible enviar en modo sandbox, pero no se muestra explícitamente en los casos de uso. Uno de los campos dentro del cuerpo de lo que está enviando es mailSettings.sandboxMode.enable
. Establecer esto en verdadero enviará el correo electrónico en modo sandbox.
Por ejemplo:
import * as SendGrid from '@sendgrid/mail';
import { MailData } from '@sendgrid/helpers/classes/mail';
import { Email } from '../models';
import config from '../config';
export function send(email: Email): Promise<any> {
SendGrid.setApiKey(config.services.email.apiKey);
const mailSettings = config.services.email.options;
const data: MailData = {
...email,
...mailSettings
};
// This will send the email in sandbox mode
data.mailSettings.sandboxMode.enable = true;
return SendGrid.send(data);
}
¿Aparece el correo electrónico en el tablero cuando el modo de espacio aislado está habilitado?
@ victor-ponce,
No lo creo.
Para V3, aquí está el fragmento
const sgMail = require ('@ sendgrid / mail');
sgMail.setApiKey (process.env.SENDGRID_API_KEY);
const msg = {
para: ' [email protected] ',
de: ' [email protected] ',
asunto: 'Hola mundo',
texto: '¡Hola mundo!',
html: '¡Hola mundo HTML!',
templateId: 'd-f43daeeaef504760851f727007e0b5d0',
dynamic_template_data: {
asunto: 'Plantillas de prueba',
nombre: 'Some One',
ciudad: 'Denver',
},
mail_settings: {
habilitar: verdadero
}
},
};
sgMail.send (msg);
¿No es esto posible? Mi archivo sendgrid actual se ve así
import sgMail from '@sendgrid/mail';
const sendGridApiKey = process.env.SENDGRID_API_KEY;
if (!sendGridApiKey) {
throw new Error('The sendgrid api key has not been set in the environment variables');
}
sgMail.setApiKey(sendGridApiKey);
// I need to be able to do something like this
sgMail.enableSandbox(process.env.NODE_ENV !== 'production')
export { sgMail };
Sería genial si eventualmente sendgrid le permitiera generar claves de API de sandbox como las claves de prueba de bandas
PR se fusionó para agregar esto a los documentos.
@malimccalla Eso no es compatible actualmente. Dado que no es exactamente igual a la solicitud original, ¿podría abrir un nuevo problema para rastrear esto?
@ childish-sambino ¡Hecho! N.º 1128
Comentario más útil
Hola @CrazyGentleMan ,
Mis disculpas, parece que hemos omitido ese caso de uso aquí . Debe estar dentro de
mail_settings
. Aquí está la carga útil completa como referencia.He agregado esto a nuestro backlog.
Para que este problema gane prioridad en nuestra cartera de pedidos, necesitamos +1 adicionales o un PR. Cuando recibimos un PR, eso proporciona el mayor salto en prioridad.
¡Gracias!
Con los mejores deseos,
Elmer