bernhard: utils/testing send_filtertest_emails.py,NONE,1.1

cvs at intevation.de cvs at intevation.de
Fri Dec 17 19:54:33 CET 2004


Author: bernhard

Update of /kolabrepository/utils/testing
In directory doto:/tmp/cvs-serv10563

Added Files:
	send_filtertest_emails.py 
Log Message:
Added send_filtertest_emails.py to start a framework for creation
of test message that test kolabfilter and the mail setup.


--- NEW FILE: send_filtertest_emails.py ---
#!/usr/bin/env python
"""Create and send testmails for envelope <-> header checks for Kolab2 Server.

You need to replace kolab.mail.domain and proko2test@ below
with the real data for a test account on your server.

Need to be run from a server that can give emails to postfix
without authentification. Typical use is on a Kolab2 server.

This script is Free Software under the GNU General Public License >=v2.
Bernhard Reiter <bernhard at intevation.de>
"""
#20041217 Bernhard initial
__version__="$Revision: 1.1 $"[10:-1]

import sys
import time

import smtplib
import string

def send_mail(envelope_from, envelope_to, header_from, header_to, 
    test_number=0):

    basemsg=("From: %s\r\nTo: %s\r\n%%s\r\n" % 
                (header_from, string.join(header_to, ", "))
            )

    headers="MIME-Version: 1.0\r\n"+ \
    "Content-Type: text/plain;\r\n"+ \
    "        charset=\"iso-8859-1\"\r\n"+ \
    "Content-Transfer-Encoding: 8bit\r\n"

    subject="Subject: envelope header from test %d\r\n" % int(test_number)

    head=basemsg % (headers + subject)
    msg=head+"Hello!\n"

    server=smtplib.SMTP('localhost')
    #server.set_debuglevel(1)

    server.sendmail(envelope_from,envelope_to,msg)
    #sys.stdout.write(".")
    #sys.stdout.flush()

    server.quit()
    #sys.stdout.write("\n")


def main(argv):

    maildomain="kolab.mail.domain"

    envelope_from="Proko2Test <proko2test@%s>" % maildomain
    header_from="proko2test@%s" % maildomain

    envelope_to="Proko2Test <proko2test@%s>" % maildomain
    header_to= ["proko2test@%s" % maildomain]

    send_mail(envelope_from, envelope_to, header_from, header_to, 0)

    # First test: different letter cases, should go through
    header_from="proKo2tEst@%s" % maildomain
    send_mail(envelope_from, envelope_to, header_from, header_to, 1)

if __name__=="__main__":
    main(sys.argv)





More information about the commits mailing list