send_ips_report.py
Envia os IP´s das interfaces para um email.
This commit is contained in:
commit
1b1dfcc29b
46
send_ips_report.py
Normal file
46
send_ips_report.py
Normal file
@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python3
|
||||
import smtplib
|
||||
from email.mime.text import MIMEText
|
||||
from datetime import datetime
|
||||
import subprocess
|
||||
|
||||
# Configurações
|
||||
smtp_server = "smtp.gmail.com"
|
||||
smtp_port = 587
|
||||
email_from = "walter@h4t.eti.br"
|
||||
email_to = "walter@h4t.eti.br"
|
||||
app_password = "pzqw mwgc qctj imqs"
|
||||
subject = f"Relatório de IPs - {datetime.now().strftime('%Y-%m-%d %H:%M')}"
|
||||
|
||||
# Interfaces com nome amigável
|
||||
interfaces = {
|
||||
"eth8": "Algar1",
|
||||
"eth6": "Algar2",
|
||||
"eth7": "Claro"
|
||||
}
|
||||
|
||||
body = f"Relatório de IPs Públicos - {datetime.now()}\n"
|
||||
body += "----------------------------------------\n"
|
||||
for iface, name in interfaces.items():
|
||||
try:
|
||||
ip = subprocess.check_output(["curl", "-s", "--interface", iface, "https://ifconfig.me"], timeout=10).decode().strip()
|
||||
except:
|
||||
ip = "IP inválido ou não detectado"
|
||||
body += f"{name} ({iface}) => IP: {ip}\n"
|
||||
body += "----------------------------------------"
|
||||
|
||||
# Construir email
|
||||
msg = MIMEText(body)
|
||||
msg["Subject"] = subject
|
||||
msg["From"] = email_from
|
||||
msg["To"] = email_to
|
||||
|
||||
# Enviar email
|
||||
try:
|
||||
with smtplib.SMTP(smtp_server, smtp_port) as server:
|
||||
server.starttls()
|
||||
server.login(email_from, app_password)
|
||||
server.send_message(msg)
|
||||
print("Email enviado com sucesso.")
|
||||
except Exception as e:
|
||||
print(f"Falha ao enviar email: {e}")
|
Loading…
Reference in New Issue
Block a user