Hallo,
Mein Problem:
Der Mailtext ($kdmailtext) wird aus einer .cfg Datei ausgelesen, die mail-Adresse, Anrede, Name usw. aus der DB.
Im Mailtext sollen jetzt -ANREDE- und -NAME- durch die Variablen aus der DB ersetzt werden.
Mein Versuch (gekürzte Form)
my $sql2 = qq |SELECT ANREDE, NAME FROM $dbtableuser WHERE GESENDET = 0 |;
my $read = ssp::readSQLData($sql2, "anrede", "name" );
if ($read > 0) {
for (my $i = 0; $i < $read; $i++) {
my $anrede = main::qform(ssp::get_var_db ("anrede",$i));
my $name = main::qform(ssp::get_var_db ("name",$i));
$kdmailtext =~ s/-ANREDE-/$anrede/g;
$kdmailtext =~ s/-NAME-/$name/g;
require HTML::Entities;
$decodedtext = HTML::Entities::decode($kdmailtext);
$decodedbetreff = HTML::Entities::decode($betreff);
$decodedfrom = HTML::Entities::decode($from);
my $prog = ssp::get_mailprog(); # Pfad zum Mailprogramm
open(MAIL,"|$prog -t");
print MAIL "From: $decodedfrom \n";
print MAIL "To: $sendmail\n";
print MAIL "Subject: $decodedbetreff\n\n";
print MAIL "$decodedtext";
close(MAIL);
print "OK, Mail an $sendmail/$anrede $name versandt...<br>";
my $sqlg = qq|UPDATE $dbtableuser SET GESENDET = "$jetzt" WHERE EMAIL = '$sendmail' AND ORDERNR = '$ordernr'|;
ssp::exec_sql($sqlg, 1);
}
}
Die Mails werden korrekt an die richtigen Adressen versendet und
print "OK, Mail an $sendmail/$anrede $name versandt...<br>";
gibt auch die richtigen Daten aus.
In ALLEN Mails wird aber -ANREDE- und -NAME- immer nur durch den ERSTEN gefundenen DB-Eintrag ersetzt.
Was mache ich falsch?
lg
dobra