Spaces:
Sleeping
Sleeping
import streamlit as st | |
import smtplib | |
from email.message import EmailMessage | |
import http.client | |
import requests | |
# SMTP Example (Simplified) | |
def smtp_client(server, port, from_email, to_email, subject, message): | |
msg = EmailMessage() | |
msg.set_content(message) | |
msg['Subject'] = subject | |
msg['From'] = from_email | |
msg['To'] = to_email | |
try: | |
with smtplib.SMTP(server, port) as smtp: | |
smtp.send_message(msg) | |
return "Email sent successfully!" | |
except Exception as e: | |
return f"Failed to send email: {e}" | |
# HTTP Example | |
def http_client(url): | |
try: | |
response = requests.get(url) | |
return response.text[:500] # Return the first 500 characters for brevity | |
except Exception as e: | |
return f"Failed to retrieve the URL: {e}" | |
# Streamlit UI | |
st.title("Internet Communication Protocols Demo π") | |
# SMTP Section | |
st.header("SMTP Demo π§") | |
smtp_server = st.text_input("SMTP Server", value="smtp.example.com") | |
smtp_port = st.text_input("SMTP Port", value="587") | |
from_email = st.text_input("From Email", value="[email protected]") | |
to_email = st.text_input("To Email", value="[email protected]") | |
subject = st.text_input("Subject", value="Test Email") | |
message = st.text_area("Message", value="This is a test email.") | |
if st.button("Send Email"): | |
result = smtp_client(smtp_server, smtp_port, from_email, to_email, subject, message) | |
st.success(result) | |
# HTTP Section | |
st.header("HTTP Demo π") | |
url = st.text_input("URL to fetch", value="http://example.com") | |
if st.button("Fetch URL"): | |
result = http_client(url) | |
st.text_area("Response", value=result, height=250) |