async function sendEmail(emailData) {
try {
const response = await sendEmailWithRetry(emailData);
return { success: true, data: response.data };
} catch (error) {
// Log error for debugging
console.error('Email send failed:', {
error_code: error.error_code,
message: error.message,
to: emailData.to,
timestamp: new Date().toISOString()
});
// Handle specific errors
switch (error.error_code) {
case 'validation_error':
return { success: false, error: 'Invalid email data', details: error.errors };
case 'invalid_domain':
return { success: false, error: 'Sender domain not verified' };
case 'rate_limit_exceeded':
return { success: false, error: 'Rate limit exceeded', retryAfter: error.retryAfter };
default:
return { success: false, error: 'Failed to send email' };
}
}
}