[Imap-protocol] is IMAP still the protocol to use to read emails???

comicpilsen <[email protected]> Wed, 28 Dec 2016 06:36:42 -0600
Newsgroups gmane.mail.imap.general
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--===============6156019794090396323==
Content-Type: multipart/alternative;
 boundary="------------A5B7951A5C0F8C324F021EAD"

This is a multi-part message in MIME format.
--------------A5B7951A5C0F8C324F021EAD
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

I am a little confused. I code in Python ( 3.5.1) and I am "trying" to read the body of
messages from a gmail account.  The issue is that I see a lot of POP3 activity on stack
exchange and google but very little for IMAP. So is IMAP dead? If so what should I be
looking at?

All I want to do is read in my email body and do something with it. I really am having
issues like the one below.

Using python 3.5.1 and its throwing this trace

|TypeError:initial_value must be str orNone,notbytes|

on the line

|text_msg =email.message_from_string(data[0][1])|

I know the text of the message is stashed in data[0][1] but can't seem to find the correct
code to convert from bytes to string for the RFC822 in python 3.5.1 what is the line
please? here is the code I found to read my IMAP box which works well for getting the
messages, formatting the date and showing the subject.

|rv,data =M.fetch(num,'(RFC822)')ifrv !='OK':print("ERROR getting message",num)returnmsg
=email.message_from_bytes(data[0][1])text_msg
=email.message_from_string(data[0][1])hdr=mail.header.make_header(email.header.decode_header(msg['Subject']))subject
=str(hdr)print('Message %s: %s'%(num,subject))print("text = ",text_msg)|



--------------A5B7951A5C0F8C324F021EAD
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 8bit

<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    I am a little confused. I code in Python ( 3.5.1) and I am "trying"
    to read the body of messages from a gmail account.  The issue is
    that I see a lot of POP3 activity on stack exchange and google but
    very little for IMAP. So is IMAP dead? If so what should I be
    looking at?<br>
    <br>
    All I want to do is read in my email body and do something with it.
    I really am having issues like the one below. <br>
    <br>
    Using python 3.5.1 and its throwing this trace <br>
    <pre class="lang-py prettyprint prettyprinted" style=""><code><span class="typ">TypeError</span><span class="pun">:</span><span class="pln"> initial_value must be str </span><span class="kwd">or</span><span class="pln"> </span><span class="kwd">None</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">not</span><span class="pln"> bytes</span></code></pre>
    <p>on the line</p>
    <pre class="lang-py prettyprint prettyprinted" style=""><code><span class="pln">text_msg </span><span class="pun">=</span><span class="pln"> email</span><span class="pun">.</span><span class="pln">message_from_string</span><span class="pun">(</span><span class="pln">data</span><span class="pun">[</span><span class="lit">0</span><span class="pun">][</span><span class="lit">1</span><span class="pun">])</span></code></pre>
    <p>I know the text of the message is stashed in data[0][1] but can't
      seem to find the correct code to convert from bytes to string for
      the RFC822 in python 3.5.1 what is the line please?
      here is the code I found to read my IMAP box which works well for
      getting the messages, formatting the date and showing the subject.</p>
    <pre class="lang-py prettyprint prettyprinted" style=""><code><span class="pln">rv</span><span class="pun">,</span><span class="pln"> data </span><span class="pun">=</span><span class="pln"> M</span><span class="pun">.</span><span class="pln">fetch</span><span class="pun">(</span><span class="pln">num</span><span class="pun">,</span><span class="pln"> </span><span class="str">'(RFC822)'</span><span class="pun">)</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> rv </span><span class="pun">!=</span><span class="pln"> </span><span class="str">'OK'</span><span class="pun">:</span><span class="pln">
        </span><span class="kwd">print</span><span class="pun">(</span><span class="str">"ERROR getting message"</span><span class="pun">,</span><span class="pln"> num</span><span class="pun">)</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln">
    msg </span><span class="pun">=</span><span class="pln"> email</span><span class="pun">.</span><span class="pln">message_from_bytes</span><span class="pun">(</span><span class="pln">data</span><span class="pun">[</span><span class="lit">0</span><span class="pun">][</span><span class="lit">1</span><span class="pun">])</span><span class="pln">

    text_msg </span><span class="pun">=</span><span class="pln"> email</span><span class="pun">.</span><span class="pln">message_from_string</span><span class="pun">(</span><span class="pln">data</span><span class="pun">[</span><span class="lit">0</span><span class="pun">][</span><span class="lit">1</span><span class="pun">])</span><span class="pln">

    hdr</span><span class="pun">=</span><span class="pln">mail</span><span class="pun">.</span><span class="pln">header</span><span class="pun">.</span><span class="pln">make_header</span><span class="pun">(</span><span class="pln">email</span><span class="pun">.</span><span class="pln">header</span><span class="pun">.</span><span class="pln">decode_header</span><span class="pun">(</span><span class="pln">msg</span><span class="pun">[</span><span class="str">'Subject'</span><span class="pun">]))</span><span class="pln">
    subject </span><span class="pun">=</span><span class="pln"> str</span><span class="pun">(</span><span class="pln">hdr</span><span class="pun">)</span><span class="pln">
    </span><span class="kwd">print</span><span class="pun">(</span><span class="str">'Message %s: %s'</span><span class="pln"> </span><span class="pun">%</span><span class="pln"> </span><span class="pun">(</span><span class="pln">num</span><span class="pun">,</span><span class="pln"> subject</span><span class="pun">))</span><span class="pln">

    </span><span class="kwd">print</span><span class="pun">(</span><span class="str">"text = "</span><span class="pun">,</span><span class="pln">text_msg</span><span class="pun">)</span></code></pre>
    <br>
  </body>
</html>

--------------A5B7951A5C0F8C324F021EAD--

--===============6156019794090396323==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Imap-protocol mailing list
[email protected]
http://mailman13.u.washington.edu/mailman/listinfo/imap-protocol
--===============6156019794090396323==--