Files
web-drone/emailjs-setup-guide.md
2025-09-27 01:32:49 +01:00

5.4 KiB

EmailJS Setup Guide for PTSAerial

I've switched your website back to EmailJS, which is much easier and more reliable than AWS SES for frontend forms. Here's how to set it up:

1. Create EmailJS Account

  1. Go to EmailJS.com
  2. Sign up for a free account (200 emails/month)
  3. Verify your email address

2. Add Email Service

  1. In your EmailJS dashboard, click "Email Services"
  2. Click "Add New Service"
  3. Choose "Gmail" (recommended) or your email provider
  4. For Gmail:
    • Enter your Gmail email (could be oli@ptslondon.co.uk if it's Gmail)
    • Or create a dedicated Gmail account for website emails
  5. Follow the OAuth setup process
  6. Copy your Service ID (you'll need this)

3. Create Email Templates

Template 1: Quote Request Template

  1. Go to "Email Templates" → "Create New Template"
  2. Template ID: quote_template
  3. Subject: New Quote Request - PTSAerial - {{service_type}}
  4. Content:
New Quote Request from PTSAerial Website

Customer Details:
Name: {{customer_name}}
Email: {{customer_email}}
Phone: {{customer_phone}}
Company: {{customer_company}}

Project Details:
Service Type: {{service_type}}
Location: {{project_location}}
Preferred Date: {{preferred_date}}
Budget Range: {{budget_range}}

Project Description:
{{project_description}}

---
Reply to this email to respond directly to the customer.
Website: PTSAerial.co.uk

Template 2: Contact Form Template

  1. Create another template
  2. Template ID: contact_template
  3. Subject: New Contact Message - PTSAerial - {{message_subject}}
  4. Content:
New Contact Message from PTSAerial Website

From: {{customer_name}}
Email: {{customer_email}}
Subject: {{message_subject}}

Message:
{{message_content}}

---
Reply to this email to respond directly to the customer.
Website: PTSAerial.co.uk

4. Get Your Configuration

  1. In EmailJS dashboard, go to "Account"
  2. Copy your Public Key (also called User ID)
  3. You'll also need your Service ID from step 2

5. Update Your Website

In your script.js file, replace these values:

// Line ~69: Replace YOUR_PUBLIC_KEY
emailjs.init("YOUR_PUBLIC_KEY"); // Replace with your actual public key

// Line ~83 and ~127: Replace YOUR_SERVICE_ID  
sendEmail('quote_template', templateParams)
// Should become:
emailjs.send('YOUR_SERVICE_ID', 'quote_template', templateParams)

Example:

emailjs.init("user_abc123def456"); // Your public key
// and
return emailjs.send('service_gmail_xyz789', templateId, templateParams)

6. Test Your Setup

  1. Save your script.js file with the correct keys
  2. Open your website
  3. Fill out both forms (quote and contact)
  4. Check oli@ptslondon.co.uk for emails
  5. Check browser console (F12) for any errors

7. EmailJS Dashboard Monitoring

After testing, check your EmailJS dashboard:

  • "History" tab shows sent emails
  • Monitor your monthly usage
  • Check for any failed sends

Configuration Summary

What you need to replace in script.js:

// Replace this line:
emailjs.init("YOUR_PUBLIC_KEY");
// With:
emailjs.init("your_actual_public_key");

// And replace this line:
return emailjs.send('YOUR_SERVICE_ID', templateId, templateParams)
// With:
return emailjs.send('your_actual_service_id', templateId, templateParams)

Email Template Variables

The website sends these variables to your templates:

Quote Form (quote_template):

  • {{customer_name}} - Customer's name
  • {{customer_email}} - Customer's email
  • {{customer_phone}} - Phone number
  • {{customer_company}} - Company name
  • {{service_type}} - Selected service
  • {{project_location}} - Project location
  • {{preferred_date}} - Preferred date
  • {{budget_range}} - Budget range
  • {{project_description}} - Project description

Contact Form (contact_template):

  • {{customer_name}} - Customer's name
  • {{customer_email}} - Customer's email
  • {{message_subject}} - Message subject
  • {{message_content}} - Message content

Troubleshooting

Common Issues:

  1. "EmailJS not loaded" - Check the script tag in index.html
  2. "Template not found" - Ensure template IDs match exactly
  3. "Service not found" - Check your Service ID is correct
  4. Emails not arriving - Check spam folder first

Testing in Console:

Open browser console (F12) and run:

emailjs.send('your_service_id', 'quote_template', {
    customer_name: 'Test User',
    customer_email: 'test@example.com',
    service_type: 'Aerial Photography'
});

Benefits of EmailJS vs AWS SES

Easier Setup: No AWS account or IAM configuration needed
Frontend Friendly: Designed for browser use
No CORS Issues: Works directly from any website
Free Tier: 200 emails/month is usually sufficient
Template Management: Easy visual template editor
Reliable Delivery: Built-in email service integration

Free Tier Limits

  • 200 emails per month
  • Basic templates
  • Email history tracking

For higher volume, upgrade to paid plans starting at $15/month.


Quick Setup Checklist:

  • Create EmailJS account
  • Add Gmail service and get Service ID
  • Create quote_template and contact_template
  • Get Public Key from Account settings
  • Update script.js with your keys
  • Test both forms
  • Check oli@ptslondon.co.uk for emails

The setup should take about 15 minutes and is much more reliable than AWS SES for website forms!