Communicating through the Linux Terminal: Multiple Approaches to Sending Emails, WhatsApp Messages, Tweets, and SMS

Ayushmaan Srivastav
3 min readOct 4, 2024

--

In today’s fast-paced digital landscape, efficient communication is crucial for both personal and professional interactions. Linux, with its robust command-line capabilities, offers various ways to send messages through different platforms directly from the terminal. In this blog, we’ll explore two primary approaches for sending emails, WhatsApp messages, tweets, and SMS from the Linux terminal: Using Python Libraries and Using cURL with APIs.

Overview of Approaches

1. Using Python Libraries

Python provides an excellent way to communicate with various services using libraries that handle the underlying complexity. This approach is user-friendly and suitable for those who are comfortable with Python scripting.

2. Using cURL with APIs

For those who prefer a more hands-on approach, cURL allows for direct interaction with REST APIs from the command line. This method is great for users who are familiar with API requests and prefer working without additional libraries.

Let’s dive into the specifics of both approaches!

Sending Emails

Approach 1: Using Python Libraries

Python’s built-in smtplib library makes it straightforward to send emails. Here's how you can do it:

import smtplib
from email.mime.text import MIMEText

def send_email(subject, body, to_email):
from_email = "your_email@example.com"
password = "your_password"

# Create the email
msg = MIMEText(body)
msg['Subject'] = subject
msg['From'] = from_email
msg['To'] = to_email

# Send the email
with smtplib.SMTP('smtp.example.com', 587) as server:
server.starttls()
server.login(from_email, password)
server.sendmail(from_email, to_email, msg.as_string())

# Usage
send_email("Test Subject", "Hello from Python!", "recipient@example.com")

Approach 2: Using cURL with APIs

Alternatively, you can use cURL with an email service provider like SendGrid:

curl -X POST "https://api.sendgrid.com/v3/mail/send" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"personalizations": [{"to": [{"email": "recipient@example.com"}]}],
"from": {"email": "your_email@example.com"},
"subject": "Test Subject",
"content": [{"type": "text/plain", "value": "Hello from cURL!"}]
}'

Sending WhatsApp Messages

Approach 1: Using Python Libraries

You can send WhatsApp messages using the pywhatkit library:

import pywhatkit as kit

# Send WhatsApp message
kit.sendwhatmsg("+1234567890", "Hello from Python!", 15, 0) # Sends at 15:00 hours

Approach 2: Using cURL with APIs

You can also use Twilio’s API to send WhatsApp messages:

curl -X POST "https://api.twilio.com/2010-04-01/Accounts/YOUR_ACCOUNT_SID/Messages.json" \
--data-urlencode "To=whatsapp:+1234567890" \
--data-urlencode "From=whatsapp:+14155238886" \
--data-urlencode "Body=Hello from cURL!" \
-u YOUR_ACCOUNT_SID:YOUR_AUTH_TOKEN

Sending Tweets

Approach 1: Using Python Libraries

Using the tweepy library, you can send tweets easily:

import tweepy

# Twitter API credentials
consumer_key = 'YOUR_CONSUMER_KEY'
consumer_secret = 'YOUR_CONSUMER_SECRET'
access_token = 'YOUR_ACCESS_TOKEN'
access_token_secret = 'YOUR_ACCESS_TOKEN_SECRET'

# Authenticate to Twitter
auth = tweepy.OAuth1UserHandler(consumer_key, consumer_secret, access_token, access_token_secret)
api = tweepy.API(auth)

# Send a tweet
api.update_status("Tweeting from Python!")

Approach 2: Using cURL with APIs

You can send a tweet directly with cURL:

curl -X POST "https://api.twitter.com/2/tweets" \
-H "Authorization: Bearer YOUR_BEARER_TOKEN" \
-H "Content-Type: application/json" \
-d '{"text":"Tweeting from cURL!"}'

Sending SMS

Approach 1: Using Python Libraries

The twilio library can be used to send SMS messages:

from twilio.rest import Client

# Twilio credentials
account_sid = 'YOUR_ACCOUNT_SID'
auth_token = 'YOUR_AUTH_TOKEN'
client = Client(account_sid, auth_token)

# Send an SMS
message = client.messages.create(
body="Hello from Python!",
from_='+1234567890',
to='+09876543210'
)

Approach 2: Using cURL with APIs

You can also send SMS with cURL:

curl -X POST "https://api.twilio.com/2010-04-01/Accounts/YOUR_ACCOUNT_SID/Messages.json" \
--data-urlencode "To=+09876543210" \
--data-urlencode "From=+1234567890" \
--data-urlencode "Body=Hello from cURL!" \
-u YOUR_ACCOUNT_SID:YOUR_AUTH_TOKEN

Conclusion

In summary, both approaches to sending emails, WhatsApp messages, tweets, and SMS through the Linux terminal are effective, with each having its own advantages:

  • Python Libraries offer a higher-level, user-friendly interface that simplifies the process of sending messages.
  • cURL with APIs provides direct control over API requests and is ideal for users who are comfortable with command-line interactions.

Github_RepO:-

--

--

No responses yet