How to connect to gmail with libetpan?

資訊99溫啟清 <[email protected]> Mon, 7 Sep 2009 20:38:22 +0800
Newsgroups gmane.mail.libetpan.user
Message-ID <[email protected]>
--===============2821181111201184171==
Content-Type: multipart/alternative; boundary=000e0cd32e861b11500472fc20f7

--000e0cd32e861b11500472fc20f7
Content-Type: text/plain; charset=ISO-8859-1

Sorry for my English!
==

I am tring to conect to imap.gmail.com

The following are my codes

But it always stop at line 29 r = mailstorage_connect(storage);

Plz, could  anyone tell me why?

#include <stdio.h>
> #include <libetpan/libetpan.h>
> #include "msg_str.h"
> int CheckR(char*, int);
> int main()
> {
>     int r;
>     struct mailstorage *storage;
>     struct mailfolder *folder;
>
>     storage = mailstorage_new(NULL);
>     if (storage == NULL){
>         printf("error initializing storage\n");
>         return 1;
>     }
>
>     imap_mailstorage_init(storage,
>         "imap.gmail.com",
>         993,
>         NULL,
>         CONNECTION_TYPE_STARTTLS,
>         IMAP_AUTH_TYPE_PLAIN,
>         "[email protected]",
>         "xxxxxx",
>         1,
>         "/tmp"
>         );
>
>     r = mailstorage_connect(storage);
>     if( CheckR("mailstorage_connect",r) ){
>         return 1;
>     };
>     printf("pass1\n");
>
>     folder = mailfolder_new(storage, "INBOX", NULL);
>     if (folder == NULL){
>         printf("mailfolder_new error!\n");
>         return 1;
>     }
>     printf("pass1\n");
>
>     r = mailfolder_connect(folder);
>     if( CheckR("mailfolder_connect",r) ){
>         return 1;
>     };
>     printf("pass1\n");
>
>     mailstorage_disconnect(storage);
>     mailstorage_free(storage);
>
>     printf("Finished!!\n");
>     return 0;
> }
>
> /**
>  *How to use:
>  *    if( CheckR("msg to print",r) ){
>  *        return 1;
>  *    };
>  */
> int CheckR(char *msg, int r)
> {
>     if (r == MAIL_NO_ERROR){
>         printf(" %s PASS\n",msg);
>         return 0;
>     }
>     else{
>         printf(" %s ERROR:%s\n",msg,err_msg[r]);
>         return 1;
>     }
> }
>

--000e0cd32e861b11500472fc20f7
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Sorry for my English!<br>=3D=3D<br><br>I am tring to conect to <a href=3D"h=
ttp://imap.gmail.com">imap.gmail.com</a><br><br>The following are my codes<=
br><br>But it always stop at <span style=3D"color: rgb(204, 0, 0);"><span s=
tyle=3D"color: rgb(0, 0, 0);">line 29</span> r =3D mailstorage_connect(stor=
age);</span><br>
<br>Plz, could=A0 anyone tell me why?<br><br><blockquote style=3D"border-le=
ft: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: =
1ex;" class=3D"gmail_quote">#include &lt;stdio.h&gt;<br>#include &lt;libetp=
an/libetpan.h&gt;<br>
#include &quot;msg_str.h&quot;<br>int CheckR(char*, int);<br>int main()<br>=
{<br>=A0=A0=A0 int r;<br>=A0=A0=A0 struct mailstorage *storage;<br>=A0=A0=
=A0 struct mailfolder *folder;<br>=A0=A0=A0 <br>=A0=A0=A0 storage =3D mails=
torage_new(NULL);<br>=A0=A0=A0 if (storage =3D=3D NULL){<br>
=A0=A0=A0 =A0=A0=A0 printf(&quot;error initializing storage\n&quot;);<br>=
=A0=A0=A0 =A0=A0=A0 return 1;<br>=A0=A0=A0 }<br>=A0=A0=A0 <br>=A0=A0=A0 ima=
p_mailstorage_init(storage,<br>=A0=A0=A0 =A0=A0=A0 &quot;<a href=3D"http://=
imap.gmail.com">imap.gmail.com</a>&quot;,<br>=A0=A0=A0 =A0=A0=A0 993,<br>
=A0=A0=A0 =A0=A0=A0 NULL,<br>=A0=A0=A0 =A0=A0=A0 CONNECTION_TYPE_STARTTLS,<=
br>=A0=A0=A0 =A0=A0=A0 IMAP_AUTH_TYPE_PLAIN,<br>=A0=A0=A0 =A0=A0=A0 &quot;<=
a href=3D"mailto:[email protected]">[email protected]</a>&quot;,<br>=A0=A0=A0=
 =A0=A0=A0 &quot;xxxxxx&quot;,<br>=A0=A0=A0 =A0=A0=A0 1,<br>=A0=A0=A0 =A0=
=A0=A0 &quot;/tmp&quot;<br>
=A0=A0=A0 =A0=A0=A0 );<br><br>=A0=A0=A0 r =3D mailstorage_connect(storage);=
<br>=A0=A0=A0 if( CheckR(&quot;mailstorage_connect&quot;,r) ){<br>=A0=A0=A0=
 =A0=A0=A0 return 1;<br>=A0=A0=A0 };<br>=A0=A0=A0 printf(&quot;pass1\n&quot=
;);<br>=A0=A0=A0 <br>=A0=A0=A0 folder =3D mailfolder_new(storage, &quot;INB=
OX&quot;, NULL);<br>
=A0=A0=A0 if (folder =3D=3D NULL){<br>=A0=A0=A0 =A0=A0=A0 printf(&quot;mail=
folder_new error!\n&quot;);<br>=A0=A0=A0 =A0=A0=A0 return 1;<br>=A0=A0=A0 }=
<br>=A0=A0=A0 printf(&quot;pass1\n&quot;);<br>=A0=A0=A0 <br>=A0=A0=A0 r =3D=
 mailfolder_connect(folder);<br>=A0=A0=A0 if( CheckR(&quot;mailfolder_conne=
ct&quot;,r) ){<br>
=A0=A0=A0 =A0=A0=A0 return 1;<br>=A0=A0=A0 };<br>=A0=A0=A0 printf(&quot;pas=
s1\n&quot;);<br>=A0=A0=A0 <br>=A0=A0=A0 mailstorage_disconnect(storage);<br=
>=A0=A0=A0 mailstorage_free(storage);<br>=A0=A0=A0 <br>=A0=A0=A0 printf(&qu=
ot;Finished!!\n&quot;);<br>=A0=A0=A0 return 0;<br>}<br><br>
/**<br>=A0*How to use:<br>=A0*=A0=A0=A0 if( CheckR(&quot;msg to print&quot;=
,r) ){<br>=A0*=A0=A0=A0 =A0=A0=A0 return 1;<br>=A0*=A0=A0=A0 };<br>=A0*/<br=
>int CheckR(char *msg, int r)<br>{<br>=A0=A0=A0 if (r =3D=3D MAIL_NO_ERROR)=
{<br>=A0=A0=A0 =A0=A0=A0 printf(&quot; %s PASS\n&quot;,msg);<br>
=A0=A0=A0 =A0=A0=A0 return 0;<br>=A0=A0=A0 }<br>=A0=A0=A0 else{<br>=A0=A0=
=A0 =A0=A0=A0 printf(&quot; %s ERROR:%s\n&quot;,msg,err_msg[r]);<br>=A0=A0=
=A0 =A0=A0=A0 return 1;<br>=A0=A0=A0 }=A0=A0=A0 <br>}<br></blockquote><div>=
<br>=A0</div>

--000e0cd32e861b11500472fc20f7--


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

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
--===============2821181111201184171==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Libetpan-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libetpan-users

--===============2821181111201184171==--