Files
CyberPanel/plogical/test.py
2024-01-25 11:37:26 +05:00

68 lines
2.1 KiB
Python

import imaplib
import getpass
from email import message_from_string
# IMAP server settings
imap_server = 'mail.wpmautic.net'
imap_port = 993
# User credentials
email_address = 'usman@wpmautic.net'
password = getpass.getpass("Enter your email password: ")
# Connect to the IMAP server
mail = imaplib.IMAP4_SSL(imap_server, imap_port)
# Log in to the mailbox
mail.login(email_address, password)
# Select the INBOX
mail.select("inbox")
# Search for all emails in the INBOX
result, data = mail.search(None, "ALL")
email_ids = data[0].split()
# Fetch and print header information for each email
for email_id in email_ids:
result, message_data = mail.fetch(email_id, "(BODY[HEADER.FIELDS (FROM TO SUBJECT DATE)])")
raw_email = message_data[0][1].decode('utf-8')
msg = message_from_string(raw_email)
print(f"Email ID: {email_id}")
print(f"From: {msg['From']}")
print(f"To: {msg['To']}")
print(f"Subject: {msg['Subject']}")
print(f"Date: {msg['Date']}")
print("-" * 30)
# Logout
mail.logout()
# from cryptography import x509
# from cryptography.hazmat.backends import default_backend
#
# def get_domains_covered(cert_path):
# with open(cert_path, 'rb') as cert_file:
# cert_data = cert_file.read()
# cert = x509.load_pem_x509_certificate(cert_data, default_backend())
#
# # Check for the Subject Alternative Name (SAN) extension
# san_extension = cert.extensions.get_extension_for_class(x509.SubjectAlternativeName)
#
# if san_extension:
# # Extract and print the domains from SAN
# san_domains = san_extension.value.get_values_for_type(x509.DNSName)
# return san_domains
# else:
# # If SAN is not present, return the Common Name as a fallback
# return [cert.subject.get_attributes_for_oid(x509.NameOID.COMMON_NAME)[0].value]
#
# # Example usage
# cert_path = '/etc/letsencrypt/live/cyberplanner.io/fullchain.pem'
# domains_covered = get_domains_covered(cert_path)
#
# print("Domains covered by the certificate:")
# for domain in domains_covered:
# print(domain)