( kantal | 2017. 10. 30., h – 18:26 )

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