Navigation X
ALERT
Click here to register with a few steps and explore all our cool stuff we have to offer!



   426

YAHOO, GMAIL, and ICLOUD MASS SENDER PROGRAM (made by me)

by atxri - 18 July, 2025 - 03:26 AM
This post is by a banned member (atxri) - Unhide
atxri  
Registered
40
Posts
8
Threads
#1
(This post was last modified: 18 July, 2025 - 03:27 AM by atxri.)
HOW TO USE:

Save the Script: Save as mass_email.py.
Run in Terminal: Use python3 mass_email.py.
Follow Prompts:
• Choose provider (gmail/yahoo/icloud).
• Enter your email and password (use an app-specific password for Gmail/iCloud; Yahoo may require similar setup).
• Enter subject and body (multi-line body ends with a blank line).
• Enter up to 500 recipient emails (one per line, blank line to finish).
• Confirm to send.
Dependencies: None beyond Python 3 standard library (smtplib, email, threading, getpass, re).

SETUP:
Gmail: Enable 2FA and generate an app-specific password (Google Account > Security > App Passwords).
• iCloud: Generate an app-specific password (Apple ID > Password & Security).
• Yahoo: May require app-specific password or enabling “Allow apps that use less secure sign-in” (check Yahoo account settings).
• Security: Passwords are hidden during input (getpass) but stored in memory during execution. Use on a trusted device.

PERFORMANCE:
Speed: Sends ~500 emails in seconds by using threading (each email in a separate thread). A 0.1-second delay between threads prevents overwhelming SMTP servers.
• Limitations: Actual speed depends on network, provider rate limits, and server response. 500 emails may take ~50-60 seconds due to delays and server handshakes.
• Threading: Lightweight threading avoids heavy dependencies like asyncio or external libraries.

SAFETY FEATURES:
Validation: Only allows @gmail.com, @Yahoo.com, @iCloud.com addresses.
• Error Handling: Catches authentication failures, invalid emails, and SMTP errors.
• Rate Limiting: 0.1-second delay between emails to reduce risk of bans.
• Interruptible: Ctrl+C stops the script safely.


SOURCE CODE:
#!/usr/bin/env python3
import smtplib
import threading
import time
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import getpass
import re

# SMTP server configurations
SMTP_SERVERS = {
"gmail": ("smtp.gmail.com", 587),
"yahoo": ("smtp.mail.yahoo.com", 587),
"icloud": ("smtp.mail.me.com", 587)
}

# Validate email format
def is_valid_email(email):
pattern = r'^[a-zA-Z0-9._%+-]+@(gmail\.com|yahoo\.com|icloud\.com)$'
return re.match(pattern, email)

# Send a single email
def send_email(sender_email, sender_password, recipient, subject, body, smtp_server, smtp_port):
try:
# Create email
msg = MIMEMultipart()
msg['From'] = sender_email
msg['To'] = recipient
msg['Subject'] = subject
msg.attach(MIMEText(body, 'plain'))

# Connect to SMTP server
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls()
server.login(sender_email, sender_password)
server.sendmail(sender_email, recipient, msg.as_string())
server.quit()
print(f"Email sent to {recipient}")
except Exception as e:
print(f"Failed to send to {recipient}: {e}")

# Main mass email function
def mass_email():
print("=== Mass Email Sender ===")

# Get email provider
print("Available providers: gmail, yahoo, icloud")
provider = input("Enter your email provider (gmail/yahoo/icloud): ").lower()
if provider not in SMTP_SERVERS:
print("Invalid provider! Exiting.")
return

smtp_server, smtp_port = SMTP_SERVERS[provider]

# Get sender credentials
sender_email = input(f"Enter your {provider} email: ")
if not is_valid_email(sender_email):
print(f"Invalid {provider} email! Exiting.")
return

sender_password = getpass.getpass("Enter your email password (or app-specific password): ")

# Get email details
subject = input("Enter email subject: ")
print("Enter email body (press Enter twice to finish):")
lines = []
while True:
line = input()
if line == "":
break
lines.append(line)
body = "\n".join(lines)

# Get recipients
print("Enter recipient emails (one per line, max 500, press Enter twice to finish):")
recipients = []
while len(recipients) < 500:
email = input()
if email == "":
break
if is_valid_email(email):
recipients.append(email)
else:
print(f"Skipping invalid email: {email} (must be gmail/yahoo/icloud)")

if not recipients:
print("No valid recipients provided! Exiting.")
return

print(f"Preparing to send to {len(recipients)} recipients...")
confirm = input("Confirm sending? (yes/no): ").lower()
if confirm != "yes":
print("Aborted.")
return

# Send emails in parallel with threading
threads = []
start_time = time.time()
for recipient in recipients:
thread = threading.Thread(target=send_email, args=(sender_email, sender_password, recipient, subject, body, smtp_server, smtp_port))
threads.append(thread)
thread.start()
time.sleep(0.1) # Small delay to avoid rate limiting

# Wait for all threads to complete
for thread in threads:
thread.join()

end_time = time.time()
print(f"Finished sending {len(recipients)} emails in {end_time - start_time:.2f} seconds.")

if __name__ == "__main__":
try:
mass_email()
except KeyboardInterrupt:
print("\nStopped by user.")
except Exception as e:
print(f"An error occurred: {e}")

LEAVE A LIKE ENJOY!

This is a bump
This post is by a banned member (atxri) - Unhide
atxri  
Registered
40
Posts
8
Threads
Bumped #2
This is a bump
This post is by a banned member (dodo70) - Unhide
dodo70  
Registered
254
Posts
1
Threads
1 Year of service
#3
what is the inbox rate percentage?

Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
or
Sign in
Already have an account? Sign in here.


Forum Jump:


Users browsing this thread: 1 Guest(s)