Csak python3-ban tudtam elvállalni, sorry:-)
Indíthatod így is:
./digest.py "leválogatott_fájl_neve"
Új verzió, amely el is küldi a levelet:
#!/usr/bin/env python3
#-*- coding:utf-8 -*-
# digest.py, tesztelve python 3.5.3-ban
import sys,smtplib,getpass
from email.mime.text import MIMEText
mailhost_user= input("gmail user=")
mailhost_pwd= getpass.getpass("gmail password=")
Subject= "Digest"
Sender= "szabek@valami.hu"
Mailhost= "smtp.gmail.com"
Port= 587
fname= sys.argv[1] if len(sys.argv)==2 else "messages.txt"
with open(fname) as ff:
items=[]
receivers= set()
for sor in ff:
sor= sor.strip()
if sor:
sor= sor.split(" ",maxsplit=3)
items.append(sor)
receivers.add( sor[2].strip() )
for rece in receivers:
message=""
for tim,sender,r,text in items:
if rece==r.strip():
message+= tim +" "+ sender +" "+ text + "\n"
if message:
message= "Szia," + rece + "\n" + message
print("\n-----\n@@A küldendő:\n"+message+"\n")
msgobj= MIMEText(message)
msgobj["Subject"] = Subject
msgobj["From"] = Sender
msgobj["To"] = rece
print("@@A levél:\n")
print(msgobj)
try:
server = smtplib.SMTP(Mailhost, Port)
server.ehlo()
server.starttls()
server.login(mailhost_user, mailhost_pwd)
server.send_message(msgobj)
server.close()
print("@@Mail is sent.")
except:
print("@@Mail sending error!")
--
eutlantis