2017-06-08 10 views
0

サーバから未読メールを取得しようとしています。私はperlスクリプトとNet :: IMAP :: Simpleパッケージを使用しています。私は事務用のこのスクリプトを書いています。以下はパッケージ "Net :: IMAP :: Simple"でオブジェクトメソッド "see"を見つけることができません

はいくつかのコードです:

use strict;  
use warnings; 
use Net::IMAP::Simple; 
use Email::Simple; 
use HTTP::Date; 
#some code.... 

# Create the object 
my $server = Net::IMAP::Simple->new($imap_server) or die "Can't connect to server: $imap_server "; 

# Log on 
my $login = $server->login($imap_user,$imap_passwd) or die "Login failed (bad username or password)"; 

#some code..... 

# set the message as seen 
$server->see($i); 

# i also used $server->add_flags($i,'\Seen'); but it throws same error. 

アイロニーがあり、このコードは、私がテストに使用Gmailアカウント、上で正常に動作します。しかし、私がオフィスでそれをテストすると、エラーがスローされます。

は、オブジェクトのメソッドは、パッケージ「ネット:: IMAP :: Simpleは」私はここでの問題だかわからない

を経由して「見る」見つけることができません。

+0

'perl -MNet :: IMAP :: Simple -E 'とは何か$ Net :: IMAP :: Simple :: VERSION'' printと言っていますか? – Dada

+0

@dada:今私は(私の電話で)システムにアクセスできません。確かに確認します。詳細を教えてもらえますか?それは何を印刷するのか、それは何を意味するのでしょうか? – RaJ

+0

@dadaはおそらく正しいです。 Net :: IMAP :: Simpleの古いバージョンがあるようです。 'perl -MNet :: IMAP :: Simple \ 999'を実行してバージョンを取得することもできます(エラーメッセージとして)。 – simbabque

答えて

3

seeおよび​​の方法をNet::IMAP::Simple version 1.1899_05に追加しました。

> 1.1899_05: Tue Jun 16 06:42:16 EDT 2009 
> - I started working on ticket 45953, 
> - created sub_flags() and add_flags() 
> - taught delete() to use add_flags() -- adds \Deleted 
> - providing see() and unsee() for ticket 45953 
> - I started building tests for the flag manipulation stuff and 
>  put reselect stuff ... noticed a possible bug in 
>  Net::IMAP::Server 

プロダクションシステムに古いバージョンがある可能性があります。それを更新し、Makefile.PLまたはcpanfileに最小限のバージョンを含めるか、依存関係を追跡するために使用するものを含めます。

+0

確実なバディ。とにかく、私は苦労してメールの本文を取得しています。 Net :: IMAP :: Clientを使用してメールの本文のみを取得する方法を教えてください。 – RaJ

+0

@RaJ申し訳ありませんが、私はそのことを以前は使ったことがありません。私はドキュメントを読むだけでいいです。 ;)新しい質問をしてください。 – simbabque

+0

大丈夫です。とにかく、ありがとう。私は – RaJ

関連する問題