Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 71d40963b505df4524269198e237b3e3 > files > 426

virtuoso-opensource-doc-6.1.4-2.fc14.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
 <head profile="http://internetalchemy.org/2003/02/profile">
  <link rel="foaf" type="application/rdf+xml" title="FOAF" href="http://www.openlinksw.com/dataspace/uda/about.rdf" />
  <link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" />
  <meta name="dc.title" content="Function: pop3_get - Virtuoso Functions Guide" />
  <meta name="dc.subject" content="Function: pop3_get - Virtuoso Functions Guide" />
  <meta name="dc.creator" content="OpenLink Software Documentation Team ;&#10;" />
  <meta name="dc.copyright" content="OpenLink Software, 1999 - 2009" />
  <link rel="top" href="index.html" title="OpenLink Virtuoso Universal Server: Documentation" />
  <link rel="search" href="/doc/adv_search.vspx" title="Search OpenLink Virtuoso Universal Server: Documentation" />
  <link rel="parent" href="functions.html" title="Chapter Contents" />
  <link rel="prev" href="appendixa.html" title="Appendix" />
  <link rel="next" href="functions.html#.html" title="" />
  <link rel="shortcut icon" href="../images/misc/favicon.ico" type="image/x-icon" />
  <link rel="stylesheet" type="text/css" href="doc.css" />
  <link rel="stylesheet" type="text/css" href="/doc/translation.css" />
  <title>Function: pop3_get - Virtuoso Functions Guide</title>
  <meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8" />
  <meta name="author" content="OpenLink Software Documentation Team ;&#10;" />
  <meta name="copyright" content="OpenLink Software, 1999 - 2009" />
  <meta name="keywords" content="" />
  <meta name="GENERATOR" content="OpenLink XSLT Team" />
 </head>
 <body>
  <div id="header">
    <a name="fn_pop3_get" />
    <img src="../images/misc/logo.jpg" alt="" />
    <h1>22. Virtuoso Functions Guide - pop3_get</h1>
  </div>
  <div id="navbartop">
   <div>
      <a class="link" href="functions.html">Chapter Contents</a> | <a class="link" href="fn_pem_certificates_to_array.html" title="pem_certificates_to_array">Prev</a> | <a class="link" href="fn_smime_sign.html" title="smime_sign">Next</a>
   </div>
  </div>
  <div id="currenttoc">
   <form method="post" action="/doc/adv_search.vspx">
    <div class="search">Keyword Search: <br />
        <input type="text" name="q" /> <input type="submit" name="go" value="Go" />
    </div>
   </form>
   <div>
      <a href="http://www.openlinksw.com/">www.openlinksw.com</a>
   </div>
   <div>
      <a href="http://docs.openlinksw.com/">docs.openlinksw.com</a>
   </div>
    <br />
   <div>
      <a href="index.html">Book Home</a>
   </div>
    <br />
   <div>
      <a href="contents.html">Contents</a>
   </div>
   <div>
      <a href="preface.html">Preface</a>
   </div>
    <br />
   <div>
      <a class="selected" href="functions.html">Virtuoso Functions Guide</a>
   </div>
    <br />
   <div>
      <a href="functions.html#admin">Administration</a>
   </div>
   <div>
      <a href="functions.html#aggr">Aggregate Functions</a>
   </div>
   <div>
      <a href="functions.html#array">Array Manipulation</a>
   </div>
   <div>
      <a href="functions.html#bpel">BPEL APIs</a>
   </div>
   <div>
      <a href="functions.html#backup">Backup</a>
   </div>
   <div>
      <a href="functions.html#compression">Compression</a>
   </div>
   <div>
      <a href="functions.html#cursors">Cursor</a>
   </div>
   <div>
      <a href="functions.html#time">Date &amp; Time Manipulation</a>
   </div>
   <div>
      <a href="functions.html#debug">Debug</a>
   </div>
   <div>
      <a href="functions.html#dict">Dictionary Manipulation</a>
   </div>
   <div>
      <a href="functions.html#encoding">Encoding &amp; Decoding</a>
   </div>
   <div>
      <a href="functions.html#file">File Manipulation</a>
   </div>
   <div>
      <a href="functions.html#ft">Free Text</a>
   </div>
   <div>
      <a href="functions.html#hash">Hashing / Cryptographic</a>
   </div>
   <div>
      <a href="functions.html#ldap">LDAP</a>
   </div>
   <div>
      <a href="functions.html#localization">Locale</a>
   </div>
   <div>
      <a class="selected" href="functions.html#mail">Mail</a>
   </div>
   <div class="selected">
    <div>
        <a href="fn_mime_body.html">mime_body</a>
    </div>
    <div>
        <a href="fn_mime_part.html">mime_part</a>
    </div>
    <div>
        <a href="fn_mime_tree.html">mime_tree</a>
    </div>
    <div>
        <a href="fn_nntp_auth_get.html">nntp_auth_get</a>
    </div>
    <div>
        <a href="fn_nntp_auth_post.html">nntp_auth_post</a>
    </div>
    <div>
        <a href="fn_nntp_get.html">nntp_get</a>
    </div>
    <div>
        <a href="fn_nntp_post.html">nntp_post</a>
    </div>
    <div>
        <a href="fn_pem_certificates_to_array.html">pem_certificates_to_...</a>
    </div>
    <div>
        <a class="selected" href="fn_pop3_get.html">pop3_get</a>
    </div>
    <div>
        <a href="fn_smime_decrypt.html">smime_decrypt</a>
    </div>
    <div>
        <a href="fn_smime_encrypt.html">smime_encrypt</a>
    </div>
    <div>
        <a href="fn_smime_sign.html">smime_sign</a>
    </div>
    <div>
        <a href="fn_smime_verify.html">smime_verify</a>
    </div>
    <div>
        <a href="fn_smtp_send.html">smtp_send</a>
    </div>
    <div>
        <a href="fn_uuvalidate.html">uuvalidate</a>
    </div>
   </div>
   <div>
      <a href="functions.html#misc">Miscellaneous</a>
   </div>
   <div>
      <a href="functions.html#number">Number</a>
   </div>
   <div>
      <a href="functions.html#phrz">Phrases</a>
   </div>
   <div>
      <a href="functions.html#rdf">RDF data</a>
   </div>
   <div>
      <a href="functions.html#rmt">Remote SQL Data Source</a>
   </div>
   <div>
      <a href="functions.html#repl">Replication</a>
   </div>
   <div>
      <a href="functions.html#soap">SOAP</a>
   </div>
   <div>
      <a href="functions.html#sql">SQL</a>
   </div>
   <div>
      <a href="functions.html#string">String</a>
   </div>
   <div>
      <a href="functions.html#txn">Transaction</a>
   </div>
   <div>
      <a href="functions.html#type">Type Mapping</a>
   </div>
   <div>
      <a href="functions.html#uddi">UDDI</a>
   </div>
   <div>
      <a href="functions.html#udt">User Defined Types &amp; The CLR</a>
   </div>
   <div>
      <a href="functions.html#vad">VAD</a>
   </div>
   <div>
      <a href="functions.html#jvmpl">Virtuoso Java PL API</a>
   </div>
   <div>
      <a href="functions.html#bif">Virtuoso Server Extension Interface (VSEI)</a>
   </div>
   <div>
      <a href="functions.html#ws">Web &amp; Internet</a>
   </div>
   <div>
      <a href="functions.html#xml">XML</a>
   </div>
   <div>
      <a href="functions.html#XPATH">XPATH &amp; XQUERY</a>
   </div>
    <br />
   <div>
      <a href="functionidx.html">Functions Index</a>
   </div>
    <br />
  </div>
  <div id="text">
    <h2>pop3_get</h2>
    <div class="refpurpose">get messages from a POP3 server</div>
    <div class="funcsynopsis">
        <span class="funcdef">array <span class="function">pop3_get</span>
      </span>
        (<span class="paramdef">in <span class="parameter">host</span> varchar</span>, 
        <span class="paramdef">in <span class="parameter">user</span> varchar</span>, 
        <span class="paramdef">in <span class="parameter">password</span> varchar</span>, 
        <span class="paramdef">in <span class="parameter">buffer_size</span> integer</span>, 
        <span class="paramdefoptional">[in <span class="optional">command</span> varchar]</span>, 
        <span class="paramdefoptional">[in <span class="optional">exclude_uidl_list</span> vector]</span>);
      </div>
  
  
  
  <div class="refsect1">
      <div class="refsect1title">Description</div>
    <p>
        <span class="computeroutput">Pop3_get</span> is used to retrieve and delete messages from a server
    running the Post Office Protocol version 3 as defined in rfc1725. In its default form it
    returns a vector of vectors containing messages retrieved from the POP3 server.
    Each vector within the vector contains a pair of <span class="computeroutput">VARCHAR</span> UIDL and
    <span class="computeroutput">VARCHAR</span> Message body, i.e. to get the message body of the second message retrieved,
    one would use <span class="computeroutput">aref (aref (msg_vec, 1), 1)</span>.
    Total length of messages retrieved will not exceed the value of <span class="computeroutput">buffer_size</span>
    parameter in bytes.</p>
    <p>The optional parameter <span class="computeroutput">command</span> can be used to control output
    or delete messages. When <span class="computeroutput">command</span>
    is passed a <span class="computeroutput">VARCHAR</span> &#39;uidl&#39;, <span class="computeroutput">pop3_get</span> outputs single
    vector containing <span class="computeroutput">VARCHAR</span> UIDLs. The <span class="computeroutput">buffer_size</span> constraint
    is effective here. Thus, the vector will only contain UIDLs of messages whose total message text
    length does not exceed <span class="computeroutput">buffer_size</span> bytes. These message lengths are
    accumulated in the order returned by the POP3 server.</p>
    <p>Command &#39;delete&#39; will cause retrieved messages to be deleted from the server
    after retrieval.</p>
  </div>
  <div class="refsect1">
      <div class="refsect1title">Parameters</div>
    <div class="refsect2">
      <span class="refsect2title">host – </span>
      The host to connect with. IP address or hostname:port. There is no default for port, so to connect to the standard port for POP3, use &lt;hostname/IP address&gt;:110
    </div>
    <div class="refsect2">
      <span class="refsect2title">user – </span>
      <span class="computeroutput">string</span> user id in remote host.
    </div>
    <div class="refsect2">
      <span class="refsect2title">password – </span>
      <span class="computeroutput">string</span> password in remote host.
    </div>
    <div class="refsect2">
      <span class="refsect2title">buffer_size – </span>
      <span class="computeroutput">integer</span> maximum total length of message text for
      messages/uidls to be retrieved.
    </div>
    <div class="refsect2">
      <span class="refsect2title">command – </span>
      Command <span class="computeroutput">string</span>. Valid values are empty, &#39;uidl&#39;
      or &#39;delete&#39;
    </div>
    <div class="refsect2">
      <span class="refsect2title">exclude_uidl_list – </span>
      A <span class="computeroutput">vector</span> containing UIDLs. A message whose UIDL appears in this
      list will not be retrieved or deleted.
    </div>
  </div>
  <div class="refsect1">
      <div class="refsect1title">Return Types</div>
    <p>A vector of vectors containing UIDL/Message text <span class="computeroutput">strings</span> or
     a &#39;flat&#39; vector containing UIDL <span class="computeroutput">strings</span>.</p>
  </div>
  <div class="refsect1title">Errors</div>
    <table class="data">
      
       <tr>
        <th class="data">SQLState</th>
        <th class="data">Error Code</th>
        <th class="data">Error Text</th>
        <th class="data">Description</th>
      </tr>
	
	  <tr>
	    <td class="data">
          <a name="err2E000" />
          <span class="errorcode">2E000</span>
        </td>
	    <td class="data">
          <a name="errPO001" />
          <span class="errorcode">PO001</span>
        </td>
	    <td class="data">
          <span class="errorname">Cannot resolve host in pop3_get</span>
        </td>
	    <td class="data" />
	  </tr>
	  <tr>
	    <td class="data">
          <a name="err08001" />
          <span class="errorcode">08001</span>
        </td>
	    <td class="data">
          <a name="errPO002" />
          <span class="errorcode">PO002</span>
        </td>
	    <td class="data">
          <span class="errorname">Cannot connect in pop3_get</span>
        </td>
	    <td class="data" />
	  </tr>
	  <tr>
	    <td class="data">
          <a name="err08006" />
          <span class="errorcode">08006</span>
        </td>
	    <td class="data">
          <a name="errPO003" />
          <span class="errorcode">PO003</span>
        </td>
	    <td class="data">
          <span class="errorname">No response from remote POP3 server</span>
        </td>
	    <td class="data" />
	  </tr>
	  <tr>
	    <td class="data">
          <a name="err08006" />
          <span class="errorcode">08006</span>
        </td>
	    <td class="data">
          <a name="errPO004" />
          <span class="errorcode">PO004</span>
        </td>
	    <td class="data">
          <span class="errorname">Not valid user in remote POP3 server</span>
        </td>
	    <td class="data" />
	  </tr>
	  <tr>
	    <td class="data">
          <a name="err08006" />
          <span class="errorcode">08006</span>
        </td>
	    <td class="data">
          <a name="errPO005" />
          <span class="errorcode">PO005</span>
        </td>
	    <td class="data">
          <span class="errorname">UIDL command to remote POP3 server failed</span>
        </td>
	    <td class="data" />
	  </tr>
	  <tr>
	    <td class="data">
          <a name="err08006" />
          <span class="errorcode">08006</span>
        </td>
	    <td class="data">
          <a name="errPO006" />
          <span class="errorcode">PO006</span>
        </td>
	    <td class="data">
          <span class="errorname">Could not get output of UIDL from remote POP3 server.</span>
        </td>
	    <td class="data" />
	  </tr>
	  <tr>
	    <td class="data">
          <a name="err08006" />
          <span class="errorcode">08006</span>
        </td>
	    <td class="data">
          <a name="errPO007" />
          <span class="errorcode">PO007</span>
        </td>
	    <td class="data">
          <span class="errorname">LIST command to remote POP3 server failed.</span>
        </td>
	    <td class="data" />
	  </tr>
	  <tr>
	    <td class="data">
          <a name="err08006" />
          <span class="errorcode">08006</span>
        </td>
	    <td class="data">
          <a name="errPO008" />
          <span class="errorcode">PO008</span>
        </td>
	    <td class="data">
          <span class="errorname">Could not get output of LIST from remote POP3 server.</span>
        </td>
	    <td class="data" />
	  </tr>
	  <tr>
	    <td class="data">
          <a name="err" />
          <span class="errorcode" />
        </td>
	    <td class="data">
          <a name="errPO009" />
          <span class="errorcode">PO009</span>
        </td>
	    <td class="data">
          <span class="errorname" />
        </td>
	    <td class="data" />
	  </tr>
	  <tr>
	    <td class="data">
          <a name="err08006" />
          <span class="errorcode">08006</span>
        </td>
	    <td class="data">
          <a name="errPO010" />
          <span class="errorcode">PO010</span>
        </td>
	    <td class="data">
          <span class="errorname">Failed reading output of LIST command on remote POP3 server</span>
        </td>
	    <td class="data" />
	  </tr>
	  <tr>
	    <td class="data">
          <a name="err08006" />
          <span class="errorcode">08006</span>
        </td>
	    <td class="data">
          <a name="errPO011" />
          <span class="errorcode">PO011</span>
        </td>
	    <td class="data">
          <span class="errorname">Could not DELE messages from remote POP3 server</span>
        </td>
	    <td class="data" />
	  </tr>
	  <tr>
	    <td class="data">
          <a name="err08006" />
          <span class="errorcode">08006</span>
        </td>
	    <td class="data">
          <a name="errPO012" />
          <span class="errorcode">PO012</span>
        </td>
	    <td class="data">
          <span class="errorname">Could not QUIT from remote POP3 server</span>
        </td>
	    <td class="data" />
	  </tr>
	  <tr>
	    <td class="data">
          <a name="err08000" />
          <span class="errorcode">08000</span>
        </td>
	    <td class="data">
          <a name="errPO013" />
          <span class="errorcode">PO013</span>
        </td>
	    <td class="data">
          <span class="errorname">Argument 6 to pop3_get must be a vector</span>
        </td>
	    <td class="data" />
	  </tr>
	  <tr>
	    <td class="data">
          <a name="err08006" />
          <span class="errorcode">08006</span>
        </td>
	    <td class="data">
          <a name="errPO014" />
          <span class="errorcode">PO014</span>
        </td>
	    <td class="data">
          <span class="errorname">Misc. error in connection in pop3_get</span>
        </td>
	    <td class="data" />
	  </tr>
	
      
    </table>
    <br />
  <p />
  <div class="refsect1">
      <div class="refsect1title">Examples</div>
    <a name="ex_pop3_get_3" />
      <div class="example">
        <div class="exampletitle">Get messages from remote POP3</div>
      <p>This example retrieves messages from a remote POP3 server and stores them in a table.</p>
      <div>
          <pre class="screen">create table MY_MSGS (MSG_ID INTEGER IDENTITY,
                      MSG_HOST VARCHAR,
                      MSG_UIDL VARCHAR,
                      MSG_TEXT LONG VARCHAR,
                      primary key (MSG_ID, MSG_HOST, MSG_UIDL));

create procedure
get_msgs (in pop_host varchar, in pop_uid varchar, in pop_pwd varchar)
{
  declare msg_vec any;
  declare inx integer;

  msg_vec := pop3_get (concat (pop_host, &#39;:110&#39;),
			       pop_uid,
			       pop_pwd,
			       10000000,
			       &#39;delete&#39;);

  inx := 0;


  while (inx &lt; length (msg_vec))
    {
      insert into MY_MSGS (MSG_HOST, MSG_UIDL, MSG_TEXT)
             values (pop_host,
		     aref (aref (msg_vec, inx), 0),
		     aref (aref (msg_vec, inx), 1));

      inx := inx + 1;
    }
}
</pre>
        </div>
<p>Here is a test run. Just for the fun, let&#39;s get the message subjects, too.</p>
      <div>
          <pre class="screen">
SQL&gt; get_msgs(&#39;pop.xs4all.nl&#39;, &#39;ghard&#39;, &#39;|_337h4x0R&#39;);

SQL&gt; select MSG_UIDL, length (MSG_TEXT), get_keyword (&#39;Subject&#39;, aref (mime_tree (MSG_TEXT), 0)) from MY_MSGS;
MSG_UIDL          callret   callret
VARCHAR NOT NULL  INTEGER   VARCHAR
_______________________________________________________________________________

1003930514.maildrop7.14798  3482      [Fwd: Linux Expo]
1003930555.maildrop7.15349  7683      [Fwd: SOAP options example]

2 Rows. -- 8 msec.

</pre>
        </div>
    </div>
  </div>
  <div class="refsect1">
      <div class="refsect1title">See Also</div>
    <p>
        <a href="fn_mime_tree.html">mime_tree</a>,
    <a href="http://www.ietf.org/rfc/rfc1725">RFC1725</a>
      </p>
  </div>
</div>
  <div id="footer">
    <div>Copyright© 1999 - 2009 OpenLink Software All rights reserved.</div>
   <div id="validation">
    <a href="http://validator.w3.org/check/referer">
        <img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" />
    </a>
    <a href="http://jigsaw.w3.org/css-validator/">
        <img src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!" height="31" width="88" />
    </a>
   </div>
  </div>
 </body>
</html>