Giter VIP home page Giter VIP logo

broadcastmailer's Introduction

BroadCastMailer

BroadCastMailer is an automated email-sending tool designed for efficient and personalized outreach campaigns. It's ideal for a variety of purposes, such as job application outreach, marketing campaigns, or networking efforts. This tool simplifies the process of sending bulk emails, making it accessible and convenient for users of all backgrounds.

Features

  • Automated email sending from a Gmail account.
  • Recipient list management through an Excel file.
  • Customizable email template for personalized messages.
  • Support for attaching files, like resumes or brochures, to emails.

Getting Started

Follow these instructions to set up and run BroadCastMailer for your email outreach.

Prerequisites

Installation

  1. Clone the Repository:
git clone https://github.com/Kushal-Shankar-1/BroadCastMailer.git
cd BroadCastMailer
  1. Install Dependencies:
pip install openpyxl

Setup

  1. Configure Gmail: To use your Gmail account for sending emails securely, you need to set your Gmail email and password as environment variables. This approach helps to keep sensitive information secure.

    Setting Environment Variables

    • For Windows Users:

      • Accessing Environment Variables:
        • Right-click on 'This PC' or 'My Computer' and select 'Properties'.
        • Click on 'Advanced system settings' and navigate to the 'Advanced' tab.
        • Click on 'Environment Variables'.
      • Creating New Variables:
        • Under 'User variables', click 'New'.
        • Set 'Variable name' as gmail_email and 'Variable value' as your Gmail address.
        • Repeat the process with gmail_password as the 'Variable name' and your Gmail password or app-specific password as the 'Variable value'.
    • For macOS/Linux Users:

      • Open Terminal:
        • Applications -> Utilities -> Terminal on macOS, or use your preferred Linux terminal.
      • Define Variables:
        • Type export gmail_email="[email protected]" and export gmail_password="your-password", replacing with your actual Gmail credentials.
      • Persisting Variables:
        • To make these changes permanent, add the export commands to your ~/.bashrc, ~/.zshrc, or equivalent shell configuration file.

    Security Recommendations

    • App-Specific Password: If your Gmail account has 2-Step Verification enabled, generate and use an app-specific password.
    • Less Secure Apps Access: Enabling 'Less Secure Apps' access is not recommended. Use 2-Step Verification and an app-specific password for enhanced security.
  2. Prepare the Excel File: An Excel file named Recruiter-emails.xlsx is included in the project. To use it:

    • Open the Recruiter-emails.xlsx file located in the project directory.
    • Fill out the columns with the relevant information for each recipient. The columns are:
      • company: The name of the company or organization.
      • email: The email address of the recipient.
      • name: The name of the recipient (or leave blank if unknown).
    • Save your changes to the file before running the script.
  3. Customize Email Template: The email_template.txt file in the project directory serves as the template for your emails. To customize it:

    • Open email_template.txt in a text editor.
    • Edit the content to suit your message. The template includes placeholders like {{ recruiter_name }} and {{ company_name }}, which will be automatically replaced by the script with actual values from the Excel file.
    • Feel free to add or modify any part of the email text to personalize your message.
    • Save your changes to the file after editing.

    Note: Do not remove the placeholders unless you intend to manually input those details for each email.

  4. Add Your Attachment: For ease of use, the script expects a specific filename for the resume. Please follow these steps to add your resume:

    • Rename your resume file to My-Resume.pdf and place it in the project directory.
    • The script is pre-configured to look for a file named My-Resume.pdf. Ensure your file's name and format match this expectation.

    Alternatively, if you wish to use a different filename, you can modify the script as follows:

    • Place your resume file in the project directory.
    • Open the coldmail.py script in a text editor or IDE.
    • Locate the line resume_path = Path('.', 'My-Resume.pdf').
    • Replace 'My-Resume.pdf' with the actual name of your resume file. For example, if your resume is named JohnDoe_Resume.pdf, update the line to resume_path = Path('.', 'JohnDoe_Resume.pdf').

Usage

  1. Run the Script:
python coldmail.py

Upon successful execution, the script will send emails to the recipients listed in Recruiter-emails.xlsx. Check the console output for any success or error messages.

  1. Verify Emails:
  • Check the 'Sent' folder in your Gmail account to confirm the emails were sent.

Troubleshooting

If you encounter any issues while setting up or running BroadCastMailer, check the following:

  • Ensure that your environment variables for Gmail credentials are correctly set.
  • Verify that the Recruiter-emails.xlsx file is properly formatted and saved in the correct directory.
  • Make sure that the email_template.txt file contains the necessary placeholders.

For further assistance, feel free to open an issue on the GitHub issues page.

Contributing

We welcome contributions of all kinds, from bug reports and feature requests to code contributions. Please feel free to check our issues page for existing issues or to open a new one.

Contact

For support or queries regarding BroadCastMailer, reach out via GitHub or email me at [[email protected]].

Author

License

This project is MIT licensed.

Acknowledgments

  • Inspired by the Coldmail-script project on GitHub.

broadcastmailer's People

Contributors

kushal-shankar-1 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.