sendmail library ?!

Grant Edwards invalid at invalid.invalid
Mon Nov 18 12:56:14 EST 2013


On 2013-11-18, Tim Roberts <timr at probo.com> wrote:
> Tamer Higazi <th982a at googlemail.com> wrote:
>>
>>I am looking for a python library that does mailing directly through
>>"sendmail".
>>
>>When I look into the docs, I see only an "smtlip" library but nothing
>>that could serve with sendmail or postfix.
>>
>>Any ideas ?!
>
> Remember that
>    import smtplib
>    s = smtplib.SMTP("localhost")
> usually communicates directly with the local server, whether it be sendmail
> or postfix or whatever.

It's not uncommon for a machine that doesn't receive mail to have
sendmail/postfix/whatever installed for the purpose of sending mail
only. In that case, there might not be anybody listening on
(localhost,smtp). The traditional way to send mail on a Unix system is
to invoke the 'sendmail' command with appropriate command-line
arguments and then shove the message into sendmail's stdin.  

It's pretty trivial -- here's a simple "sendmail library":

def sendmail(frm,to,msg):
    with os.popen("sendmail -f '%s' '%s'" % (frm,to), "w") as p:
        p.write(msg)

That works on my system, but YMMV. You might like more options (like
automagically parsing frm/to address from msg headers or whatnot), and
those are left as an exercise for the reader.

-- 
Grant Edwards               grant.b.edwards        Yow! Did an Italian CRANE
                                  at               OPERATOR just experience
                              gmail.com            uninhibited sensations in
                                                   a MALIBU HOT TUB?



More information about the Python-list mailing list