fix: emailJS implementation

This commit is contained in:
Melvin Ragusa
2026-01-23 17:19:35 +01:00
parent a9c259f60f
commit 7ee61ed342
3 changed files with 43 additions and 15 deletions

View File

@@ -5,10 +5,11 @@ import { useTranslation } from '../i18n';
import { Button, Input, Textarea } from '../components/ui';
import styles from './Contact.module.css';
// EmailJS configuration - replace these with your actual IDs
const EMAILJS_SERVICE_ID = 'YOUR_SERVICE_ID';
const EMAILJS_TEMPLATE_ID = 'YOUR_TEMPLATE_ID';
const EMAILJS_PUBLIC_KEY = 'YOUR_PUBLIC_KEY';
// EmailJS configuration
const EMAILJS_SERVICE_ID = import.meta.env.VITE_EMAILJS_SERVICE_ID;
const EMAILJS_TEMPLATE_ID_ADMIN = import.meta.env.VITE_EMAILJS_TEMPLATE_ID_ADMIN;
const EMAILJS_TEMPLATE_ID_USER = import.meta.env.VITE_EMAILJS_TEMPLATE_ID_USER;
const EMAILJS_PUBLIC_KEY = import.meta.env.VITE_EMAILJS_PUBLIC_KEY;
interface FormData {
name: string;
@@ -70,17 +71,29 @@ export function Contact() {
setSubmitStatus('idle');
try {
await emailjs.send(
EMAILJS_SERVICE_ID,
EMAILJS_TEMPLATE_ID,
{
from_name: formData.name,
from_email: formData.email,
subject: formData.subject,
message: formData.message,
},
EMAILJS_PUBLIC_KEY
);
const templateParams = {
from_name: formData.name,
from_email: formData.email,
subject: formData.subject,
message: formData.message,
};
await Promise.all([
// Send to Admin
emailjs.send(
EMAILJS_SERVICE_ID,
EMAILJS_TEMPLATE_ID_ADMIN,
templateParams,
EMAILJS_PUBLIC_KEY
),
// Send Auto-reply to User
emailjs.send(
EMAILJS_SERVICE_ID,
EMAILJS_TEMPLATE_ID_USER,
templateParams,
EMAILJS_PUBLIC_KEY
),
]);
setSubmitStatus('success');
setFormData({ name: '', email: '', subject: '', message: '' });