Skip to content

youssefoubrik/Mail-Sender

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mail Sender

A JavaFX application for sending personalized internship application emails with resume attachments.

Features

  • Email Personalization: Replaces {name}, {company}, and {position} placeholders
  • Bulk Sending: Sends to multiple contacts with random delays (20s-2min)
  • Progress Tracking: Real-time progress bar and activity logging
  • File Management: PDF resume attachment and JSON contact loading

Quick Start

Requirements

  • Java 17+
  • Maven 3.6+
  • Gmail account with App Password

Setup

  1. Configure email credentials in application.properties:

    email.username=your.email@gmail.com
    email.password=your-app-password
    email.default.from=your.email@gmail.com
    email.default.fromName=Your Name
  2. Build and run:

    mvn clean compile
    mvn javafx:run

    Or use the provided scripts:

    • Linux/Mac: ./run.sh
    • Windows: run.bat

Usage

1. Prepare Contacts File

Create a JSON file using sample_contacts.json as template:

[
  {
    "name": "John Smith",
    "company": "Tech Corp",
    "position": "Software Engineer Intern",
    "emails": ["john@techcorp.com", "hr@techcorp.com"]
  }
]

2. Application Workflow

  1. Enter email subject and body (use {name}, {company}, {position} placeholders)
  2. Select PDF resume and load contacts JSON file
  3. Preview personalized email for first contact
  4. Click "Send All Emails" to start bulk sending

Email Template Example

Subject: Internship Application - {position} at {company}

Body:

Dear {name},

I am writing to express my interest in the {position} role at {company}.
Please find my resume attached for your review.

Best regards,
[Your Name]

Configuration

Email Delays

email.delay.min=20    # Minimum delay (seconds)
email.delay.max=120   # Maximum delay (seconds)

Alternative Email Providers

Update SMTP settings in application.properties for non-Gmail providers.

Troubleshooting

Issue Solution
Email connection failed Verify Gmail App Password and credentials
File not found Check file paths and JSON format

Notes

  • ⚠️ Use Gmail App Passwords (not regular passwords)
  • 🧪 Test with small contact lists first
  • 📄 Only PDF resume files supported
  • 🕒 Random delays prevent spam flagging

Contributing

Feel free to submit issues, fork the repository, and create pull requests for any improvements.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published