Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]6755[/thread]

Problem mit NET::Imap::Simple: oder ist mein Code falsch

Leser: 1


<< >> 4 Einträge, 1 Seite
maco
 2005-03-02 18:14
#52244 #52244
User since
2005-02-22
27 Artikel
BenutzerIn
[default_avatar]
Hi leute, ich setze seit gestern abend an einem Problem!
Vielleicht hat mal einer einen Idee, woran es liegen kann
Code: (dl )
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
@email_konto1 = ( 'aaaa', 'aaaa' );
   @email_konto2 = ( 'bbb', 'bbbb' );
   @matrix = ( \@email_konto1, \@email_konto2 );
   $matrix = @matrix;


while (@data=$statement->fetchrow_array){
       $liste .= "<tr>";
       foreach(@data){
           $liste .= "<td align='left'>" . $_ . "</td>";
 }#foreach

#########Imap-Teil Start######################
           my $server = Net::IMAP::Simple->new( 'aaa.aaa' );
     for ($i=0; $i <= $matrix-1; $i++){
$server->login( @{$matrix[$i]}[0], @     {$matrix[$i]}[1]);
if (!$server){
        $liste .= "<td>Server-Verbindung
fehlgeschlagen</td>";
$server->quit();
}
else{
$liste .= "<td>Verbindung mit @{$matrix[$i]}[0] geglückt!</td>";
}
my $nmessages = $server->select('INBOX');
if (!$nmessages){
$liste .= "<td>Verbindung zum INBOX Fehlgeschlagen</td>";
}
      else{
$liste .= "<td>Verbindung zum INBOX steht</td>";
}

$liste .= "<td>Es sind $nmessages in dem  Postfach</td>";

foreach my $msg (1 .. $nmessages ){
###damit der Code nicht solang wird, also in dieser Schleife ##wird Mime::Parser benutzt um die eMail zu parsen. ##anschliessend Speichern in Tabelle
}#foreach

        }#for
            $server->quit();
if ($server){
$liste .= "<td>Verbindung beendet</td>";} else{$liste .= "<td>Könnte Verbindung nicht beenden!</td>";}
######IMAP-Teil##########################

$liste .="</tr>";
      }#while


also das ist in etwa der Code, um den es geht!
Problem ist:
nach der ersten foreach-Schleife, die den letzten Datensatz aus dem Array zurück gibt, wird mit der darauffolgenden For-Schleife 2 Kontos auf dem Server durchgegangen.
Wie ihr sieht, sind die Logdaten für jedes Konto in einem Matrix.
Feld 1  ist Konto1, Feld 2 Konto2.

Es läuft alles eigentlich richtig(oder auch nicht). Ausser:
wenn das zweite Konto in der For-Schleife durchgegangen wird, zeigt er die emails von dem bereits durchlaufenen 1.Konto an. Er zeigt zwar in dem eingebauten Meldung in dem Konto richtigerweise, dass er mit dem 2.Konto verbunden ist aber die eMails sind immer die vom ersten Konto.

Warum!!!! Das verstehe ich net!! Mag sein, dass ich im Moment einen Blackout habe und übersehe etwas gravierendes!
Grüß
ptk
 2005-03-02 22:11
#52245 #52245
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Pack doch einfach den Net::Imap::Simple-Konstruktor innerhalb der for-Schleife. Dein Code koennte ausserdem einige my-Deklarationen mehr verkraften und einige unperlische Sachen weniger (z.B. for($i=...; $i<...; $i++))
maco
 2005-03-02 23:42
#52246 #52246
User since
2005-02-22
27 Artikel
BenutzerIn
[default_avatar]
Quote
Pack doch einfach den Net::Imap::Simple-Konstruktor innerhalb der for-Schleife

habs zum Laufen gekriegt. Bin heuteabend noch dadrauf gekommen(Asche auf mein Haupt), dass der Konstruktor in die Schleife muss und es lag auch dadran. Und an einige andere unlogische Formulierungen(if). J
Quote
Dein Code koennte ausserdem einige my-Deklarationen mehr verkraften und einige unperlische Sachen weniger

ich hab erstmal use strict rausgelassen. Das kommt wenn alles fertig ist. Naja ich hab mit diesem Auftrag bis Anfang Mai zeit.

Und das mit "unperlische Sachen" werde ich mir merken!
Grüß\n\n

<!--EDIT|maco|1109799995-->
renee
 2005-03-03 09:33
#52247 #52247
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
use strict hilft gerade bei der Entwicklung. Du solltest es beim nächsten Mal schon von Anfang an drinlassen. Dann lernt man auch am Besten, damit umzugehen...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< >> 4 Einträge, 1 Seite



View all threads created 2005-03-02 18:14.