Schrift
[thread]9166[/thread]

Mail::Pop3Client

Leser: 2


<< >> 9 Einträge, 1 Seite
weismat
 2007-07-07 11:38
#78293 #78293
User since
2003-08-18
142 Artikel
BenutzerIn
[default_avatar]
Ich benutze "Mail::POP3Client;".
Wie kann ich verhindern, daß die Messages nur beim ersten Aufruf des Programmes sichtbar sind oder ist das eine Einstellung des Servers?\n\n

<!--EDIT|weismat|1183794577-->
esskar
 2007-07-07 12:10
#78294 #78294
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
ich denke mal, du lädst die mails runter und löscht sie dann; kann das sein?
weismat
 2007-07-07 12:34
#78295 #78295
User since
2003-08-18
142 Artikel
BenutzerIn
[default_avatar]
Nein - im Web Frontend sehe ich sie nicht. Das Strippen der Attachments funktioniert ebenfalls nicht.
Mein Code schaut so aus...
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
use strict;
use Mail::POP3Client;
use Email::MIME;
use Email::MIME::Attachment::Stripper;
my $pop = new Mail::POP3Client( USER => 'xxx',

PASSWORD => "xxx",

HOST => "pop.googlemail.com",

USESSL => 'true',
);

print "Status: ". $pop->State()." No of email:". $pop->Count();
if ($pop->Count()) {
my $mail=$pop->HeadAndBody(1);
my $parsed = Email::MIME->new($mail);#
my $stripper = Email::MIME::Attachment::Stripper->new($parsed);
my @attachments = $stripper->attachments;
print;
}
$pop->Close();
exit;
Ich habe auch ein $pop->Reset() eingefügt - hat aber keinen Unterschied gemacht...\n\n

<!--EDIT|weismat|1183799473-->
vayu
 2007-07-09 10:39
#78296 #78296
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
Code: (dl )
1
2
3
4
5
6
7
if ($pop->Count()) {
my $mail=$pop->HeadAndBody(1);
my $parsed = Email::MIME->new($mail);#
my $stripper = Email::MIME::Attachment::Stripper->new($parsed);
my @attachments = $stripper->attachments;
print;
}


ich sehe das so, du lädst die emails schon runter, sofern welche auf dem Server vorliegen. Und du siehst sie nicht, weil du einfach nur

print

ohne irgendwelche Argumente aufrufst. Was soll denn da geprinted werden?
weismat
 2007-07-09 13:37
#78297 #78297
User since
2003-08-18
142 Artikel
BenutzerIn
[default_avatar]
Das Print benutze ich nur, damit ich im Debugger sehen kann, ob in @attachments etwas drinsteht - ich bekomme aber einige Warnungen und @attachments ist leer.
Im Debugger sehe ich das in $parsed Werte drinstehen, @attachments leer ist - in $parsed sehe ich aber schon nicht mehr die Namen der Attachments - die sehe ich nur $mail....
Wenn ich die Attachments finde, dann kommt wieder eine andere Verarbeitung (Versenden des Attachments via sftp).
renee
 2007-07-09 14:03
#78298 #78298
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Dann müsstest Du aber print @attachments machen. Sonst versucht print $_ auszugeben...
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/
weismat
 2007-07-09 14:43
#78299 #78299
User since
2003-08-18
142 Artikel
BenutzerIn
[default_avatar]
Das Print benutze ich nur für den Debugger....es ändert ja nix an meinem Problem....
weismat
 2007-07-10 00:37
#78300 #78300
User since
2003-08-18
142 Artikel
BenutzerIn
[default_avatar]
Ich habe es jetzt mal mit MIME::Parser versucht und es funktioniert
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
use strict;
use Mail::POP3Client;
use MIME::Parser;
my $pop = new Mail::POP3Client( USER => 'xxx',

PASSWORD => "xxx",

HOST => "pop.googlemail.com",

USESSL => 'true',
);
###open (MAIL, ">mail.txt");
print "Status: ". $pop->State()." No of email:". $pop->Count();
my $i=1;
if ($pop->Count()) {
my $message=$pop->HeadAndBody(1);
my $parser = MIME::Parser->new();
$parser->output_to_core();
my $entity = $parser->parse_data($message);
}
$pop->Reset();
$pop->Close();
exit;

schreibt sauber alle Attachments in das gleiche Verzeichnis wie das Skript.
esskar
 2007-07-10 08:51
#78301 #78301
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=weismat,09.07.2007, 22:37]schreibt sauber alle Attachments in das gleiche Verzeichnis wie das Skript.[/quote]
wenn du dir die pod genauer anschaust, findest du die parameter, um die attachments z.b. nur im speicher zu halten bzw. in einen anderen pfad zu speichern.

cheers
<< >> 9 Einträge, 1 Seite



View all threads created 2007-07-07 11:38.