[Olug-list] sendmail for lokal mail hack

Gaute Amundsen gaute at div.org
Thu, 17 Dec 2009 10:54:16 +0100


Hei

Bare for g=C3=B8y og p=C3=A5 trass har jeg pr=C3=B8vd =C3=A5 lage en hack f=
or =C3=A5 f=C3=A5 levert
mail fra cron og smartmontools etc. uten =C3=A5 faktisk installere en
mailserver p=C3=A5 laptopen.

Koden under taler vel for seg selv.

N=C3=A5, p=C3=A5 ny installasjon er det imidlertid noe som feiler.
Testen virker, og evolution plukker opp mailen, men cron vil ikke
levere. Sikkert bare noe jeg har glemt :-/

Noen som har noen forslag?
Forbedringer kanskje?

Mvh Gaute Amundsen


---sendmail_fake.py
#!/usr/bin/python
# to use: ln -s  /path/to/sendmail_fake.py /usr/bin/sendmail
import mailbox
import sys
import email
from time import gmtime, strftime
mbox =3D mailbox.mbox('/var/mail/root', factory=3DNone, create=3DTrue)
msg =3D email.message_from_file(sys.stdin)
msg['From'] =3D 'root@localhost'
msg['Date']=3D strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime())
mbox.add(msg)

---sendmail_test.py
#!/usr/bin/python
SENDMAIL =3D "/usr/bin/sendmail" # sendmail location
import os
p =3D os.popen("%s -t" % SENDMAIL, "w")
p.write("To: user@foo.bar\n")
p.write("Subject: test\n")
p.write("\n") # blank line separating headers from body
p.write("Some text\n")
p.write("some more text\n")
sts =3D p.close()
if sts !=3D 0:
    print "Sendmail exit status", sts
---