- Centro de Aprendizagem
- Mitte Pro
- Documentação da API
- SMTP
- Email com template
Em python
# -*- coding: utf-8 -*- import smtplib import json from email.mime.multipart import MIMEMultipart msg = MIMEMultipart('alternative') # É necessário informar ao SMTP qual método deseja usar msg['send_method'] = 'template' # O endereço de email tem que estar entre os caracteres <>. O nome pode estar do lado separado por um espaço msg['recipient_list'] = "Destinatario1 <destinatario1@exemplo.com>" # No envio de emails com template, o nome deste é obrigatório msg['template_slug'] = 'template-slug-name' # O endereço de email do remetente segue a mesma regra que os emails dos destinatários msg['from'] = 'Remetente <destinatario1@exemplo.com>' # No 'context' estarão os valores globais, ou seja, todos os emails terão estes mesmos valores msg['context'] = json.dumps({'foobar': True}) # No 'context_per_recipient' estarão os valores específicos por destinatário. msg['context_per_recipient'] = json.dumps({'destinatario1@exemplo.com': {'foo': True}}) msg['context_per_recipient'] = json.dumps({'destinatario2@exemplo.com': {'bar': True}}) msg['subject'] = 'Apenas um teste' # Caso os parâmetros 'message_text' e 'message_html' forem repassados, então essas mensagens serão enviadas # sem usar o template. Mesmo assim, por questões de segurança, é necessário enviar o template. msg['message_text'] = 'Apenas um teste' msg['message_html'] = '<em>Apenas <strong>um</strong> teste</em>' # Se o parâmetro 'use_template_subject' for passado como True, então 'subject' não precisa ser enviado msg['use_template_subject'] = json.dumps(True) # Se os parâmetros 'use_template_email' for enviado, então 'from' não precisa ser enviado msg['use_template_email'] = json.dumps(True) # Se o parâmetro 'use_template_from' for enviado, então o nome informado em 'from' será substituido msg['use_template_from'] = json.dumps(True) # Passe True nesse parâmetro para ativar o rastreio de visualização e clique do email msg['activate_tracking'] = json.dumps(True) # Passe True nesse parâmetro para extrair uma versão de texto simples do template msg['get_text_from_html'] = json.dumps(True) # No caso do SMTP e de destinatários que não terão nomes atrelados aos emails, # é possível enviar desta outra forma to_addrs = [ "destinatario2@exemplo.com" ] s = smtplib.SMTP('smtp.mitte.pro', 25) s.login('xxxxxxxxxxxxxxxxxxxxxx', 'xxxxxxxxxxxxxxxxxxx') s.sendmail(msg['from'], to_addrs, msg.as_string()) s.quit()
Em NodeJS
const _ = require('lodash'); const nodemailer = require('nodemailer'); const options = { // O endereço de email do remetente segue a mesma regra que os emails dos destinatários from: 'Remetente <teste@teste.com.br>', // No caso do SMTP e de destinatários que não terão nomes atrelados aos emails, // é possível enviar desta outra forma to: ['teste@teste.com.br'], subject: 'Apenas um teste', text: 'Apenas um teste', // A maioria dos parâmetros do MittePro serão colocados no parâmetro 'headers' headers: { templateSlug: 'template-slug-name', // É necessário informar ao SMTP qual método deseja usar sendMethod: 'template', // Passe True nesse parâmetro para ativar o rastreio de visualização e clique do email activateTracking: true, // O endereço de email tem que estar entre os caracteres <>. O nome pode estar do lado separado por um espaço recipientList: ['Déstìnãtâríö 2 <teste@teste.com.br>'] } }; let transporter = nodemailer.createTransport({ host: 'smtp.mitte.pro', port: '25', secure: false, // true para 465, false para outras portas auth: { user: 'xxxxxxxxxxxxxxxxxxxxx', pass: 'xxxxxxxxxxxxxxxxxxxxx' } }); transporter.sendMail(options, (error, info) => { console.log(''); console.log('-------------'); console.log('PARAMETROS UTILIZADOS'); console.log(options); console.log('RESULTADO'); if (error) return console.log('Error', error); console.log('Info', info); console.log('-------------'); console.log(''); });