{"id":23423756,"url":"https://github.com/suhelmakkad/bulk-job-application","last_synced_at":"2026-04-05T21:04:39.882Z","repository":{"id":269328140,"uuid":"907066984","full_name":"SuhelMakkad/bulk-job-application","owner":"SuhelMakkad","description":"Bulk Email Sender with AWS SES","archived":false,"fork":false,"pushed_at":"2024-12-25T14:44:06.000Z","size":34,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-09T11:16:58.478Z","etag":null,"topics":["aws","bun","nodejs","ses","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SuhelMakkad.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-22T18:04:38.000Z","updated_at":"2024-12-25T14:44:09.000Z","dependencies_parsed_at":"2024-12-22T19:33:54.681Z","dependency_job_id":"d73efd23-d034-4c1e-ad5f-a63c3c6bfa8d","html_url":"https://github.com/SuhelMakkad/bulk-job-application","commit_stats":null,"previous_names":["suhelmakkad/bulk-job-application"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SuhelMakkad/bulk-job-application","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuhelMakkad%2Fbulk-job-application","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuhelMakkad%2Fbulk-job-application/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuhelMakkad%2Fbulk-job-application/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuhelMakkad%2Fbulk-job-application/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SuhelMakkad","download_url":"https://codeload.github.com/SuhelMakkad/bulk-job-application/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuhelMakkad%2Fbulk-job-application/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261940661,"owners_count":23233573,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","bun","nodejs","ses","typescript"],"created_at":"2024-12-23T04:13:03.359Z","updated_at":"2025-12-30T22:23:40.388Z","avatar_url":"https://github.com/SuhelMakkad.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bulk Email Sender with AWS SES\n\nThis TypeScript script allows you to send bulk emails to a list of recruiters using AWS Simple Email Service (SES). It includes rate limiting, error handling, and generates a detailed CSV report of the email campaign results.\n\n## Prerequisites\n\n- [Bun](https://bun.sh/) installed on your system\n- An AWS account with SES configured\n- SES verified email address or domain\n- AWS credentials with appropriate SES permissions\n\n## Setup\n\n1. Clone the repository and install dependencies:\n\n```bash\ngit clone https://github.com/SuhelMakkad/bulk-job-application\ncd bulk-job-application\nbun install\n```\n\n2. Configure environment variables:\n   - Copy the `.env.example` file to create a new `.env` file:\n\n   ```bash\n   cp .env.example .env\n   ```\n\n   - Update the `.env` file with your AWS credentials and configuration:\n\n   ```env\n   AWS_ACCESS_KEY_ID=your_access_key_id\n   AWS_SECRET_ACCESS_KEY=your_secret_access_key\n   AWS_REGION=your_aws_region\n   ```\n\n3. Prepare your CSV file:\n   - Create a CSV file named `recruiters.csv` in the project root\n   - The CSV should have at minimum an \"email\" column\n   - Example format:\n\n   ```csv\n   email\n   recruiter1@company.com\n   recruiter2@company.com\n   ```\n\n## Configuration\n\nYou can customize the email content and rate limiting in the script:\n\n1. Email Configuration (in `email-config.ts`):\n\n```typescript\nconst EMAIL_CONFIG = {\n  formName: \"Your Name \u003cyour.email@domain.com\u003e\",\n  replyTo: \"your.email@domain.com\",\n  from: \"your.verified@domain.com\",\n  subject: \"Your Subject Line Here\",\n  body: `Dear Recruiter,\n\nI hope this email finds you well. I am reaching out because...\n\nBest regards,\nYour Name\n`,\n};\n```\n\n2. Rate Limiting (in `index.ts`):\n\n```typescript\nconst RATE_LIMIT = {\n    maxEmailsPerSecond: 14,\n    delayBetweenEmails: 1000 / 14\n};\n```\n\n## Usage\n\n1. Run the script:\n\n```bash\nbun run src/index.ts\n```\n\n2. The script will:\n   - Read emails from `data/recruiters.csv`\n   - Send emails using AWS SES\n   - Generate a results CSV file named `data/email-results-[timestamp].csv`\n\n## Output\n\nThe script generates a detailed CSV report with the following information for each email:\n\n- Email address\n- Status (success/failure)\n- Timestamp\n- Error message (if any)\n\nExample output file: `data/email-results-2024-12-22T15-30-45-000Z.csv`\n\n## Error Handling\n\n- The script includes comprehensive error handling\n- Failed emails are logged with error messages\n- The process continues even if individual emails fail\n- A summary is provided at the end with success/failure counts\n\n## AWS SES Limits\n\n- Default sending limit is 14 emails per second\n- The script includes rate limiting to comply with AWS limits\n- Adjust `RATE_LIMIT` settings if you have different AWS SES limits\n\n## Troubleshooting\n\n1. **AWS Credentials Error**\n   - Verify your AWS credentials in the `.env` file\n   - Ensure your AWS user has appropriate SES permissions\n\n2. **CSV File Error**\n   - Verify `data/recruiters.csv` exists in the project root\n   - Check CSV format and column names\n   - Ensure the file is not open in another program\n\n3. **SES Verification Error**\n   - Verify your sender email is verified in AWS SES\n   - Check if you're in SES sandbox mode\n\n## Contributing\n\nFeel free to submit issues and pull requests for improvements.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuhelmakkad%2Fbulk-job-application","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsuhelmakkad%2Fbulk-job-application","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuhelmakkad%2Fbulk-job-application/lists"}