- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
这就是我使用 Mail::IMAPClient
连接 GMail 的方式
sub connectGMail
{
my $socket = IO::Socket::SSL->new
(
PeerAddr => 'imap.gmail.com',
PeerPort => 993,
SSL_verify_mode => SSL_VERIFY_NONE
)
or die "socket(): $@";
my $client = Mail::IMAPClient->new
(
User => 'whateverUser',
Password => 'aG00dP455w0rd'
Socket => $socket
)
or die "Cannot connect ($@)\n";
return $client;
}
然后我将此客户端对象传递给 processEmails
子例程
sub processEmails
{
my $client = shift;
if ($client->IsAuthenticated())
{
$client->select('Pruebas');
my @messages = $client->messages();
my $mime_parser = getMIMEParser();
my $filer = MIME::Parser::FileInto->new();
mkdir(EXTRACT_DIR);
for(@messages)
{
my $msg_body = $client->message_string($_);
my $msg_subject = Encode::decode('MIME-Header', $client->subject($_));
if ($msg_body)
{
my $dir = EXTRACT_DIR . "/" . $msg_subject;
$filer->init($dir);
mkdir($dir);
$mime_parser->filer($filer);
my $ok = parseEmail($mime_parser, $msg_body);
if ($ok)
{
print(STDERR "Email \"$msg_subject\" parsed OK\n");
}
}
else
{
print(STDERR "No body for message with subject $msg_subject\n");
}
}
}
else
{
print(STDERR "Something nasty happened\n");
}
}
问题是 $msg_body
(使用 message_string
检索)对于所有消息都是空的,但是 $msg_subject
是正确的,这意味着连接正常。这是输出:
No body for message with subject íQuÚ pasa!
No body for message with subject Prueba con formateo HTML
最佳答案
总的来说,我认为如果您尝试包含一个可运行的代码示例,那将非常有帮助。
我稍微更改了您的代码,对我来说效果非常好。我的代码库中有非常相似的代码。
use Mail::IMAPClient;
use MIME::Parser::Filer;
my $client = Mail::IMAPClient->new(
Server => 'imap.gmail.com',
User => 'test@gmail.com',
Password => 'test-pass',
Ssl => 1,
Uid => 1,
) or die "Cannot connect ($@)\n";
$client->select('INBOX');
my @messages = $client->messages();
my $filer = MIME::Parser::FileInto->new();
print "There are " . scalar @messages . " messages waiting.\n";
for (@messages) {
print "Processing...\n";
my $msg_body = $client->message_string($_);
my $msg_subject = Encode::decode( 'MIME-Header', $client->subject($_) );
if ($msg_body) {
print "$msg_body\n";
print( STDERR "Email \"$msg_subject\" parsed OK\n" );
}
else {
print( STDERR "No body for message with subject $msg_subject\n" );
}
}
关于windows - Mail::IMAPClient 没有电子邮件内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15635063/
我正在使用 IMAPclient 来获取电子邮件的内容,所以我编写了这段代码: messages = server.search(['FROM', user['email']], charset='U
我正在使用 IMAPclient 来获取电子邮件的内容,所以我编写了这段代码: messages = server.search(['FROM', user['email']], charset='U
这就是我使用 Mail::IMAPClient 连接 GMail 的方式 sub connectGMail { my $socket = IO::Socket::SSL->new (
我正在使用 IMAPClient (Python) 从我的电子邮件服务器中检索电子邮件,方法是检查标记有“\Recent”的电子邮件。阅读电子邮件后,电子邮件服务器会自动将电子邮件标志设置为“\See
我需要将所有消息从看不见的移动到垃圾箱(然后从收件箱中删除)。 my $inbox = $imap->select("Inbox"); my @mails = ( $imap->unseen ); f
我正在尝试在我的操作系统上安装 imapclient,但它不起作用。我像这样添加了 perl 存储库: zypper ar -f -n perl http://download.opensu
我需要从电子邮件中获取信件。这些邮件不存在于“收件箱”文件夹中,但存在于“所有邮件”文件夹中。 我使用库“S22.Imap”。此 ImapClient 中的 DefaultMailbox 是“INBO
我正在使用 IdleAsync 来获取有关新电子邮件的通知。 我想在新消息到达时收到通知,然后阅读消息,但是当我尝试阅读消息时,出现异常,提示 ImapClient 处于空闲状态。 我是否需要创建另一
所以我正在编写一个 Python 脚本来从电子邮件中提取文本并关注 these instructions这样做。这是到目前为止的脚本: import imapclient import pprint
我遇到问题的环境:Windows10 上的 Python 2.7.11(已修补到最新)。通过 msi 安装 Python。我检查了设置中的 PATH 设置,它设置为 c:\Python27。 这适用于
我正在尝试查看电子邮件的实际正文。到目前为止,我可以查看主题或任何其他标题,但我找不到一种方法来阅读没有额外内容的正文。 from imapclient import IMAPClient impor
经过数小时的搜索、阅读和寻找答案,我来到这里寻求帮助: 我正在尝试编写一个客户端来使用 Perl 模块阅读我的 Gmail Mail::IMAPClient .到目前为止一切正常,而且效果很好,但是当
我整天都在与 IMAP 和 office365 搏斗,但没有成功。 尽管我先建立了 imap 连接,然后使用 $imap->starttls 请求将连接升级到 TLS,但我可以说登录失败了。 我在 W
我真的开始掌握 IMAPClient 的窍门了。代码:'BODY[HEADER.FIELDS (FROM)]' 返回 From: First Last 我真的希望它返回这样的电子邮件地址: firs
这个问题是由 paul_h 提出的,但我太新了,无法评论(希望)相关信息。我在使用 imapClient 时遇到了同样的问题,而且它显然不是特定于 Python/Windows 版本的。 Paul H
祝大家新年快乐:) 我构建了一个 Web 表单,新员工可以在其中输入数据并将其发送到一个电子邮件地址,在该地址中我收到来自 PHP 的大约 20“组”数据。 Vorname: $firstname
此 Mail::IMAPClient->new() 在 Windows 7 中卡住: sub connectGMail { my $client = Mail::IMAPClient->new
我可以很容易地连接到 IMAP 邮件服务器: use Mail::IMAPClient; use MIME::Base64; use MIME::Parser; my $imap = Mai
我的行家是 commons-net commons-net 3.3 我的代码如下 IMAPClient client = new IMAPClient(); client.
我正在使用外部库 IMAPClient。当登录失败时,我看到这个错误:imaplib.error: [AUTHENTICATIONFAILED] Authentication failed. 当我尝试
我是一名优秀的程序员,十分优秀!