Seite 1 von 1

multiple email recipients als BCC

Verfasst: Freitag 1. Februar 2008, 16:02
von Iceleg
Hi,
wieder mal ein Noob mit ner doofen Frage ^^
Also habe ein Formular mit Ajaxeinbindung.. In dem Formular kann man mehrere eMailadressen angeben, diese Values will ich auslesen und als BCC verschicken. Das script funktioniert wunderbar ohne meine BCC coding versuche.. kriege es nicht hin das die input felder Freund1, Freund2, Freund3, Freund4 und Freund5 ausgelesen werden und der Value, sprich die eMailadresse als BCC verwendet und versendet wird.

Wär über jede Hilfe dankbar..

mfg
Björn

Code: Alles auswählen

import sys, os

if os.environ.get("REQUEST_METHOD", "") != "POST":
    print "Content-Type: text/html; charset=UTF-8\n\n"
    print "POSTERROR"
    sys.exit()

import cgi, smtplib

form = cgi.FieldStorage()

#### Config-Bereich

sender = "ich@du.com"
recipient = "ich@du.com"
BCC = form["Freund1"].value
subject = "Betreff"

#### Ende Config-Bereich

def entities(s):
    try:
        s = s.decode('utf-8')
    except UnicodeError:
        pass
    result = ""
    for char in s:
        if char == '\n':
            result += "<br>"
        elif char == '>':
            result += ">"
        elif char == '<':
            result += "<"
        elif char == '&':
            result += "&"
        elif char == '"':
            result += """
        elif char == "'":
            result += "&apos;"
        elif ord(char) >= 127:
            result += "&#%i" % ord(char)
        else: result += char
    try:
        result = result.encode('utf-8')
    except UnicodeError:
        pass
    return result

formdata = cgi.FieldStorage(keep_blank_values=True)
fields = formdata.keys()

msgtext = ""

for field in fields:
    value = formdata.getvalue(field, "").replace(":", "!")
    msgtext = msgtext + "%s: %s\n" % (field, value)

msg = "Content-Type: text/plain; charset=UTF-8\n"
msg = msg + "From: %s\n" % sender
msg = msg + "To: %s\n" % recipient
msg = msg + "Subject: %s\n\n" % subject
msg = msg + msgtext

mailserver = smtplib.SMTP ("localhost")
mailserver.sendmail(sender, recipient, BCC, msg)
mailserver.quit()

msgtext = ""

for field in fields:
    value = entities(formdata.getvalue(field, ""))
    msgtext = msgtext + "%s: %s\n<br>" % (field, value)

print "Content-Type: text/html; charset=UTF-8\n\n"
print "Die Daten wurden erfolgreich verschickt.<br>"
print "Sie haben folgende Daten eingegeben:<br>"
print msgtext
PS: Jeder fängt mal klein an oder?! ;)