标签: imapclient

Windows上的imapclient错误

我遇到麻烦的环境:Windows10上的Python 2.7.11(修补到目前为止).Python通过msi安装.我在设置中检查了PATH设置,并将其设置为c:\ Python27.

这适用于Mac:

from imapclient import IMAPClient

IMAPClient("imap-mail.outlook.com", use_uid=True, ssl=(True))
Run Code Online (Sandbox Code Playgroud)

但在Windows上,如果barfs像这样:

Traceback (most recent call last):
  File "test_outlook_imap.py", line 3, in <module>
    IMAPClient("imap-mail.outlook.com", use_uid=True, ssl=(True))
  File "C:\Python27\lib\site-packages\imapclient\imapclient.py", line 152, in     __init__
    self._imap = self._create_IMAP4()
  File "C:\Python27\lib\site-packages\imapclient\imapclient.py", line 164, in _create_IMAP4
    self._timeout)
  File "C:\Python27\lib\site-packages\imapclient\tls.py", line 153, in __init__
    imaplib.IMAP4.__init__(self, host, port)
  File "C:\Python27\lib\imaplib.py", line 173, in __init__
    self.open(host, port)
  File "C:\Python27\lib\site-packages\imapclient\tls.py", line 159, in open
    self.sock = wrap_socket(sock, self.ssl_context, host)
  File "C:\Python27\lib\site-packages\imapclient\tls.py", line 126, in wrap_socket
    ssl_context = create_default_context()
  File …
Run Code Online (Sandbox Code Playgroud)

windows ssl python-2.7 imapclient

6
推荐指数
1
解决办法
2333
查看次数

Python电子邮件机器人Pyzmail / IMAPclient错误

因此,我正在研究一个Python脚本以从电子邮件中提取文本,并按照以下说明进行操作。到目前为止,这是脚本:

import imapclient
import pprint
import pyzmail

mymail = "my@email.com"
password = input("Password: ")

imapObj = imapclient.IMAPClient('imap.gmail.com' , ssl=True)
imapObj.login(mymail , password)
imapObj.select_folder('INBOX', readonly=False)
UIDs = imapObj.search(['SUBJECT Testing'])
rawMessages = imapObj.fetch([5484], ['BODY[]'])
message = pyzmail.PyzMessage.factory(rawMessages[5484]['BODY[]'])
Run Code Online (Sandbox Code Playgroud)

但是我收到此错误:

message = pyzmail.PyzMessage.factory(rawMessages[5484]['BODY[]'])
KeyError: 5484
Run Code Online (Sandbox Code Playgroud)

5484是搜索功能找到的电子邮件的ID。我也尝试过放置UID而不是5484,但这也不起作用。提前致谢!

python imapclient keyerror

3
推荐指数
2
解决办法
1082
查看次数

pip install pyzmail ERROR消息

我使用Python 3.5.2.我安装了imapclient没有问题pip install imapclient.但是,当我尝试安装pyzmail时pip install pyzmail,我收到以下错误消息:

    ImportError: No module named '_markerlib'
    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in C:\Users\J
\AppData\Local\Temp\pip-build-ntukh55u\distribute\
Run Code Online (Sandbox Code Playgroud)

python email imapclient

3
推荐指数
2
解决办法
6250
查看次数

获取邮件的内容 IMAPCLIENT

我正在使用 IMAPclient 来获取电子邮件的内容,所以我编写了这段代码:

messages = server.search(['FROM', user['email']], charset='UTF-8')
if len(messages) > 0:
    for mail_id, data in server.fetch(messages, ['ENVELOPE']).items():
        envelope = data[b'ENVELOPE']
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得电子邮件的内容?

python imapclient

2
推荐指数
1
解决办法
1675
查看次数

无法通过包“ IO :: Socket :: SSL”找到对象方法“新”(也许您忘记加载“ IO :: Socket :: SSL”了吗?)

我们使用的是Perl 5,版本18,版本1(v5.18.1)。

之前我们将Outlook 2007连接到使用用户和密码通过Mail :: IMAPClient模块进行连接,因为不需要使用SSL或TLS。现在,我们已将Outlook迁移到2016年,在此版本中,必须引入SSL或TLS。

我试图在Perl脚本中添加SSL代码,但失败如下:

无法通过包“ IO :: Socket :: SSL”找到对象方法“新”(也许您忘记加载“ IO :: Socket :: SSL”了吗?)


我的代码:

$client = Mail::IMAPClient->new(
   server   => $Eserver,
   User     => $Euser,
   Password => $Epassword,
   ssl      => 1,
   port     => 993,
   Socket   => IO::Socket::SSL->new
   (  Proto    => 'tcp',
      PeerAddr => $Eserver,
      PeerPort => 993, # IMAP over SSL standard port
   ),
Run Code Online (Sandbox Code Playgroud)

如果有人以正确的方式在IMAP客户端中添加ssl模块,是否可以提供帮助。是否需要将Perl 5升级到最新版本以使用SSL或TLS(使用starttls方法?)。

另外,我们如何知道我们正在使用哪个IMAPclient模块?

我确定有些东西丢失了。不确定,因为我在Perl工作时很幼稚。

sockets perl ssl imapclient

1
推荐指数
1
解决办法
57
查看次数

使用IMAPClient如何查看发件人地址?

使用IMAPClient如何查看邮件正文和发件人电子邮件地址?

server = IMAPClient(imap_server, use_uid=True, ssl=ssl)
server.login(imap_user, imap_password)

print 'login successful'

select_info = server.select_folder('INBOX')
print '%d messages in INBOX' % select_info['EXISTS']

messages = server.search(['NOT DELETED'])
print "%d messages that aren't deleted" % len(messages)

print
print "Messages:"
response = server.fetch(messages, ['FLAGS', 'RFC822.SIZE'])
for msgid, data in response.iteritems():
    print '   ID %d: %d bytes, flags=%s' % (msgid,
                                            data['RFC822.SIZE'],
                                            data['FLAGS'])
Run Code Online (Sandbox Code Playgroud)

python imaplib imapclient

0
推荐指数
1
解决办法
3522
查看次数

标签 统计

imapclient ×6

python ×4

ssl ×2

email ×1

imaplib ×1

keyerror ×1

perl ×1

python-2.7 ×1

sockets ×1

windows ×1