Como habilitar o modo "sandbox", usando apenas "@ sendgrid / mail"
Olá @CrazyGentleMan ,
Minhas desculpas, parece que deixamos de fora esse caso de uso aqui . Deve estar dentro de mail_settings
. Aqui está a carga útil completa para referência.
Eu adicionei isso ao nosso backlog.
Para que esta questão ganhe prioridade em nossa carteira, precisamos de + 1s adicionais ou um PR. Quando recebemos um PR, isso proporciona o maior salto de prioridade.
Obrigado!
Obrigado pela atenção,
Elmer
Como está o plano de adicionar o modo "sandbox" a "@ sendgrid / mail"?
Existe uma alternativa para usar o sandbox enquanto isso?
Obrigado!
Conforme mencionado acima, é possível enviar no modo sandbox, mas não é mostrado explicitamente nos casos de uso. Um dos campos dentro do corpo do que você está enviando é mailSettings.sandboxMode.enable
. Definir como verdadeiro enviará o e-mail no modo sandbox.
Por exemplo:
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);
}
O e-mail é exibido no painel quando o modo sandbox está ativado?
@ victor-ponce,
Acho que não.
Para V3, aqui está o snippet
const sgMail = require ('@ sendgrid / mail');
sgMail.setApiKey (process.env.SENDGRID_API_KEY);
const msg = {
para: ' destinatá[email protected] ',
de: ' [email protected] ',
assunto: 'Olá, mundo',
texto: 'Olá, mundo simples!',
html: 'Olá, mundo HTML!',
templateId: 'd-f43daeeaef504760851f727007e0b5d0',
dynamic_template_data: {
assunto: 'Modelos de teste',
nome: 'Alguém',
cidade: 'Denver',
},
mail_settings: {
habilitar: verdadeiro
}
},
};
sgMail.send (msg);
Não é possível? Meu arquivo sendgrid atual se parece com este
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 };
Seria ótimo se eventualmente o sendgrid permitisse que você gerasse chaves de API de sandbox, como chaves de teste de distribuição
PR mesclado para adicionar isso aos documentos.
@malimccalla Isso não é compatível atualmente. Visto que não é exatamente igual à solicitação original, você poderia abrir um novo problema para rastrear isso?
@ infantil-sambino Feito! # 1128
Comentários muito úteis
Olá @CrazyGentleMan ,
Minhas desculpas, parece que deixamos de fora esse caso de uso aqui . Deve estar dentro de
mail_settings
. Aqui está a carga útil completa para referência.Eu adicionei isso ao nosso backlog.
Para que esta questão ganhe prioridade em nossa carteira, precisamos de + 1s adicionais ou um PR. Quando recebemos um PR, isso proporciona o maior salto de prioridade.
Obrigado!
Obrigado pela atenção,
Elmer