Automating Communication and Social Media with Python: A Guide to Sending SMS, WhatsApp Messages, Emails, and Instagram Posts.
To accomplish tasks such as sending SMS, WhatsApp messages, emails, and posting on Instagram using Python, you will need to use various APIs and libraries.
1. Sending SMS
To send an SMS, you can use the Twilio API.
Installation:
pip install twilio
Code:
from twilio.rest import Client
# Your Account SID and Auth Token from twilio.com/console
account_sid = 'your_account_sid'
auth_token = 'your_auth_token'
client = Client(account_sid, auth_token)
def send_sms(to, message):
client.messages.create(
body=message,
from_='+your_twilio_number',
to=to
)
# Example usage
send_sms('+1234567890', 'Hello, this is a test message!')
2. Sending WhatsApp Messages
You can also use the Twilio API to send WhatsApp messages.
Code:
from twilio.rest import Client
# Your Account SID and Auth Token from twilio.com/console
account_sid = 'your_account_sid'
auth_token = 'your_auth_token'
client = Client(account_sid, auth_token)
def send_whatsapp(to, message):
client.messages.create(
body=message,
from_='whatsapp:+your_twilio_whatsapp_number',
to='whatsapp:' + to
)
# Example usage
send_whatsapp('+1234567890', 'Hello, this is a test WhatsApp message!')
3. Sending Emails
You can use the smtplib library to send emails via SMTP.
Code:
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
def send_email(sender_email, sender_password, recipient_email, subject, body):
# Set up the MIME
msg = MIMEMultipart()
msg['From'] = sender_email
msg['To'] = recipient_email
msg['Subject'] = subject
# Attach the message body
msg.attach(MIMEText(body, 'plain'))
# Create SMTP session
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(sender_email, sender_password)
# Send the email
text = msg.as_string()
server.sendmail(sender_email, recipient_email, text)
server.quit()
# Example usage
send_email('your_email@gmail.com', 'your_password', 'recipient_email@gmail.com', 'Test Subject', 'This is a test email.')
4. Posting on Instagram
To post on Instagram, you can use the Instabot library.
Installation:
pip install instabot
Code:
from instabot import Bot
def post_on_instagram(username, password, image_path, caption):
bot = Bot()
bot.login(username=username, password=password)
bot.upload_photo(image_path, caption=caption)
# Example usage
post_on_instagram('your_username', 'your_password', 'path_to_image.jpg', 'This is a test post!')
Important Notes:
Twilio: You need to create an account on Twilio and get the Account SID, Auth Token, and a Twilio phone number to send SMS and WhatsApp messages.
SMTP (Email): Ensure that your email provider allows SMTP connections, and for Gmail, you may need to enable "Less secure apps" or use an App Password if 2FA is enabled.
Instabot (Instagram): Instagram has strict API rate limits, and automated posting can sometimes lead to account bans. Use with caution.