Created
December 3, 2024 14:53
-
-
Save ricardoreis/6bbfd53e6ec985d32dd63256d5ba2588 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require('dotenv').config(); | |
const nodemailer = require('nodemailer'); | |
// Para produção, use variáveis de ambiente | |
const EMAIL_USER = process.env.EMAIL_USER || '[email protected]'; | |
const EMAIL_PASS = process.env.EMAIL_PASS || 'Senha'; | |
// Configuração do transporter | |
const transporter = nodemailer.createTransport({ | |
host: 'br960.hostgator.com.br', | |
port: 465, | |
secure: true, | |
auth: { | |
user: EMAIL_USER, | |
pass: EMAIL_PASS | |
}, | |
debug: true, | |
logger: true, | |
tls: { | |
rejectUnauthorized: false | |
} | |
}); | |
// Configuração do email com headers DKIM e SPF | |
const mailOptions = { | |
from: { | |
name: 'Produtivi', | |
address: EMAIL_USER | |
}, | |
to: '[email protected]', | |
subject: 'Teste de Envio - Produtivi', | |
text: 'Este é um email de teste para verificar a configuração do servidor SMTP.', | |
html: ` | |
<h1>Teste de Envio de Email</h1> | |
<p>Este é um email de teste para verificar a configuração do servidor SMTP.</p> | |
<p>Se você está recebendo este email, a configuração está funcionando corretamente!</p> | |
`, | |
headers: { | |
'X-Priority': '3', | |
'X-MSMail-Priority': 'Normal', | |
'X-Mailer': 'Produtivi-Mailer', | |
'Message-ID': '<' + Date.now() + '@produtivi.com.br>' | |
} | |
}; | |
async function sendMail() { | |
try { | |
// Verificar a conexão antes de enviar | |
console.log('Verificando conexão com o servidor...'); | |
const verifyResult = await transporter.verify(); | |
console.log('Conexão verificada:', verifyResult); | |
console.log('Tentando enviar email...'); | |
const info = await transporter.sendMail(mailOptions); | |
console.log('Email enviado com sucesso!'); | |
console.log('ID da mensagem:', info.messageId); | |
console.log('Response:', info.response); | |
console.log('Envelope:', info.envelope); | |
// Log adicional para debugging | |
if (info.accepted) console.log('Aceito por:', info.accepted); | |
if (info.rejected) console.log('Rejeitado por:', info.rejected); | |
} catch (error) { | |
console.error('Erro ao enviar email:'); | |
console.error('Nome do erro:', error.name); | |
console.error('Mensagem:', error.message); | |
if (error.response) { | |
console.error('Resposta do servidor:', error.response); | |
} | |
// Log do stack trace para debugging | |
console.error('Stack:', error.stack); | |
} | |
} | |
// Executar o envio | |
sendMail(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment