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.
- 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.
Follow these instructions to set up and run BroadCastMailer for your email outreach.
- Python 3.x
- Pip (Python package manager)
- A Gmail account. For security, use an App-Specific Password or enable 'Less Secure Apps' (less recommended).
- Clone the Repository:
git clone https://github.com/Kushal-Shankar-1/BroadCastMailer.git
cd BroadCastMailer
- Install Dependencies:
pip install openpyxl
-
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.
-
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'.
- Accessing Environment Variables:
-
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]"
andexport gmail_password="your-password"
, replacing with your actual Gmail credentials.
- Type
- Persisting Variables:
- To make these changes permanent, add the
export
commands to your~/.bashrc
,~/.zshrc
, or equivalent shell configuration file.
- To make these changes permanent, add the
- Open Terminal:
- 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.
-
-
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.
- Open the
-
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.
- Open
-
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 namedJohnDoe_Resume.pdf
, update the line toresume_path = Path('.', 'JohnDoe_Resume.pdf')
.
- Rename your resume file to
- 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.
- Verify Emails:
- Check the 'Sent' folder in your Gmail account to confirm the emails were sent.
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.
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.
For support or queries regarding BroadCastMailer, reach out via GitHub or email me at [[email protected]].
This project is MIT licensed.
- Inspired by the Coldmail-script project on GitHub.