Leser: 16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
for($n=0;$n<$mylastRow-1;$n++)
{
$account = 'test.de';
$smtphost = 'mail.test.de';
$smtp = Net::SMTP->new($smtphost, Hello => $account, timeout => 360);
$absender = 'mail@mail.de';
$smtp->mail($absender);
#diese Zeile ist entscheiend! wird hier für ein fester Wert eingebeben (z.b. test@web.de) funktioniert alles, ich hab auch darauf geachtet das die Emailadressen im Skalar ($arrayBneu) auch /@ verwendet wurde
$smtp->to('$arrayBneu[$n]');
$smtp->data();
$smtp->datasend("Subject: Pruefungsergebnisse\n");
$smtp->datasend("To: $arrayBneu[$n]\n");
$smtp->datasend("Hallo $arrayAneu[$n],\n");
$smtp->dataend();
$smtp->quit;
if($n<$mylastRow-1){
sleep(10);
}
}
2009-06-11T17:28:45 GwenDragonWo in welcher Zeile funktioniert was denn nicht? Irgendeien Fehlermeldung?
Werden denn immer gültige Daten in deine Arrays gefüllt?
$smtp = Net::SMTP->new($smtphost, Hello => $account, timeout => 360, Debug => 1);
2009-06-11T16:29:52 kazarCode: (dl )1
2
3
4#diese Zeile ist entscheiend! wird hier für ein fester Wert eingebeben
#(z.b. test@web.de) funktioniert alles, ich hab auch darauf geachtet das
#die Emailadressen im Skalar ($arrayBneu) auch /@ verwendet wurde
$smtp->to('$arrayBneu[$n]');
2009-06-11T17:40:54 pq2009-06-11T16:29:52 kazarCode: (dl )1
2
3
4#diese Zeile ist entscheiend! wird hier für ein fester Wert eingebeben
#(z.b. test@web.de) funktioniert alles, ich hab auch darauf geachtet das
#die Emailadressen im Skalar ($arrayBneu) auch /@ verwendet wurde
$smtp->to('$arrayBneu[$n]');
tja, kein wunder. bitte mal perlintro lesen. suche nach dem wort 'interpoliert', wenn du neugierig bist, aber du solltest das dokument trotzdem ganz lesen =)
alternativ sage ich einfach "debugging". wenn etwas nicht so funktioniert wie gewünscht, schreib doch einfach ein print in dein skript.
was liefert print '$arrayBneu[$n]' . "\n";?
edit: und ich hoffe, dass du nicht in der excel-datei adressen wie foo\@example.org drinstehen hast. (ich nehme an, du meintest statt /@ \@)
das wäre nämlich quatsch. warum sollte man ein @ Zeichen in einer datei escapen?
1
2
3
4
5
6
7
perl -w
my @array = qw/ test /;
my $n = 0;
print '$array[$n]' . "\n";
# ausgabe
$array[$n]
2009-06-11T18:33:47 kazarps: suche von "interpoliert" in der Perl intro ergab keinen Treffen xD
QuoteAllerdings werden Variablen und spezielle Zeichen nur in doppelten Anführungszeichen ("double quotes") interpoliert [...]
Quotepss: print '$arrayBneu[$n]' . "\n";
liefert die Emailadresse die in der Excelliste stehen
QuoteEmails wurden hierfür geändert ;)
1
2
3
$VAR1=beispiel@domain.example
$VAR2=beispiel2@domain.example
$VAR3=beispiel3@domain.example
1
2
3
4
5
6
7
perl -wle'
use Data::Dumper;
local $Data::Dumper::Useqq = 1;
my $email = q{beispiel@domain.example};
print Dumper $email;
'
$VAR1 = "beispiel\@domain.example";