- File opens in browser
- All automatic checks are green ✅
- Click "Send Test Email" button
- Email sends successfully
If Step 1 passes: EmailJS is configured correctly, problem is in hire-me.html
If Step 1 fails: Note which check is red ❌ and go to "Fix Based on Error" below
- File opens in browser
- Debug info shows "✅ EmailJS library loaded"
- Debug info shows "✅ EmailJS initialized"
- Debug info shows "✅ Form found and ready"
- Fill out form and submit
- See success message
If Step 2 passes: Basic EmailJS works, problem is in complex hire-me.html
If Step 2 fails: Note what debug info shows and go to "Fix Based on Error" below
- Open hire-me.html
- Press F12 (or Cmd+Option+I on Mac)
- Click "Console" tab
- Refresh the page
- Look for messages
Good messages (working):
✓ Initializing EmailJS...
✓ EmailJS available: true
✓ EmailJS initialized successfully
✓ Setting up contact form...
Bad messages (not working):
✗ EmailJS library not loaded
✗ EmailJS initialization error
✗ Contact form not found
Cause: Script didn't load from CDN
Check:
- Internet connection working?
- Can you open https://cdn.emailjs.com/sdk/2.6.4/email.min.js in browser?
- Ad blocker disabled?
- Firewall not blocking?
Fix:
- Check internet connection
- Disable ad blockers
- Try different browser
- Try incognito/private mode
Cause: Wrong Public Key
Check:
- Public Key in hire-me.html matches dashboard?
- No typos or extra spaces?
- Key is active in dashboard?
Fix:
- Go to https://dashboard.emailjs.com/
- Account → General → Copy Public Key
- Open hire-me.html
- Line 19: Update
publicKey: "YOUR_KEY_HERE" - Save and test
Cause: Wrong Service ID or Template ID
Check:
- Service ID in hire-me.html matches dashboard?
- Template ID in hire-me.html matches dashboard?
- Service is connected in dashboard?
- Template exists and is saved?
Fix:
- Go to https://dashboard.emailjs.com/
- Email Services → Copy Service ID
- Email Templates → Copy Template ID
- Open hire-me.html
- Line 20: Update
serviceId: "YOUR_SERVICE_ID" - Line 21: Update
templateId: "YOUR_TEMPLATE_ID" - Save and test
Cause: Rate limit exceeded
Check:
- Sent more than 100 emails this month?
- Check usage in dashboard
Fix:
- Wait until next month (free tier resets)
- Or upgrade to paid plan
- Or use fallback email link
Cause: HTML elements missing or IDs wrong
Check:
- Form has
id="contactForm"? - Submit button has
id="submitButton"? - Elements exist in HTML?
Fix:
- Open hire-me.html
- Search for
id="contactForm" - Search for
id="submitButton" - Make sure both exist
- Check spelling
Cause: JavaScript error
Check:
- Browser console shows errors?
- Any red error messages?
Fix:
- Press F12
- Click Console tab
- Copy the error message
- Send it to me for help
Open hire-me.html and find this section (around line 18):
const EMAILJS_CONFIG = {
publicKey: "Aif7atVmhmC4vCzO2", // ← Check this
serviceId: "service_7evq2pa", // ← Check this
templateId: "template_u8bup9s" // ← Check this
};Public Key:
- Go to https://dashboard.emailjs.com/
- Account → General
- Copy Public Key
- Matches hire-me.html? ✅
Service ID:
- Go to https://dashboard.emailjs.com/
- Email Services
- Copy Service ID (looks like: service_abc123)
- Matches hire-me.html? ✅
Template ID:
- Go to https://dashboard.emailjs.com/
- Email Templates
- Copy Template ID (looks like: template_xyz789)
- Matches hire-me.html? ✅
-
diagnose.html ← Start here!
- Opens successfully
- All checks pass
- Test email sends
-
hire-me-simple.html
- Opens successfully
- Debug info shows success
- Form submits successfully
-
test-emailjs.html
- Opens successfully
- Test 1 passes (library)
- Test 2 passes (init)
- Test 3 passes (send)
-
hire-me.html ← Your actual form
- Opens successfully
- Console shows success messages
- Form submits successfully
If you need help, collect this information:
- Screenshot of automatic checks
- Screenshot of test email result
- Any error messages
- Screenshot of console
- Copy any red error messages
- Copy any warnings
- Service status (connected/disconnected)
- Template exists (yes/no)
- Usage stats (emails sent this month)
- Windows/Linux: F12 or Ctrl+Shift+I
- Mac: Cmd+Option+I
- Windows/Linux: Ctrl+Shift+Delete
- Mac: Cmd+Shift+Delete
- Windows/Linux: Ctrl+F5
- Mac: Cmd+Shift+R
- Chrome: Ctrl+Shift+N (Cmd+Shift+N on Mac)
- Firefox: Ctrl+Shift+P (Cmd+Shift+P on Mac)
- Edge: Ctrl+Shift+N
You'll know it's working when:
- ✅ All checks are green
- ✅ Test email sends successfully
- ✅ "Email sent successfully!" message appears
- ✅ Debug shows all green checkmarks
- ✅ Form submits without errors
- ✅ Success message appears
- ✅ Console shows "EmailJS initialized successfully"
- ✅ Form submits without errors
- ✅ Green success banner appears
- ✅ Email arrives in inbox
If you've gone through this checklist and it still doesn't work:
-
Take screenshots of:
- diagnose.html results
- Browser console (F12)
- Any error messages
-
Note which step fails:
- diagnose.html?
- hire-me-simple.html?
- hire-me.html?
-
Tell me:
- What error you see
- Which file you're testing
- What the console says
-
I'll help you fix it! 🔧
Remember: 90% of issues are wrong credentials. Double-check your Public Key, Service ID, and Template ID first!