mailutils.texi 8.78 KB
\input texinfo  @c -*-texinfo-*-
@c %**start of header
@setfilename mailutils.info
@settitle mailutils, Programming Manual
@c %**end of header

@c This file has the new style title page commands.
@c Run `makeinfo' rather than `texinfo-format-buffer'.

@c smallbook

@c tex
@c \overfullrule=0pt
@c end tex

@include version.texi

@c Combine indices.
@syncodeindex ky cp
@syncodeindex pg cp
@syncodeindex tp cp

@defcodeindex op
@syncodeindex op fn
@syncodeindex vr fn

@ifinfo
@direntry
* mailutils: (libmailutils).         The GNU mailutils library API.
@end direntry
This file documents @sc{mailutils},  library API.


Published by the Free Software Foundation,
59 Temple Place - Suite 330
Boston, MA 02111-1307, USA

Copyright 1999, 2000 Free Software Foundation, Inc.

Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
are preserved on all copies.

@ignore
Permission is granted to process this file through TeX and print the
results, provided the printed document carries copying permission
notice identical to this one except for the removal of this paragraph
(this paragraph not being relevant to the printed manual).

@end ignore
Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the entire
resulting derived work is distributed under the terms of a permission
notice identical to this one.

Permission is granted to copy and distribute translations of this manual
into another language, under the above conditions for modified versions,
except that this permission notice may be stated in a translation approved
by the Foundation.
@end ifinfo

@setchapternewpage off

@titlepage
@title mailutils, library API.
@subtitle version @value{VERSION}, @value{UPDATED}
@author Alain Magloire et al.

@page
@vskip 0pt plus 1filll
Copyright @copyright{} 1999, 2000 Free Software Foundation, Inc.

@sp 2
Published by the Free Software Foundation, @*
59 Temple Place - Suite 330, @*
Boston, MA 02111-1307, USA

Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
are preserved on all copies.

Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the entire
resulting derived work is distributed under the terms of a permission
notice identical to this one.

Permission is granted to copy and distribute translations of this manual
into another language, under the above conditions for modified versions,
except that this permission notice may be stated in a translation approved
by the Foundation.

@end titlepage
@page


@node Top, Introduction, (dir), (dir)
@comment  node-name,  next,  previous,  up

@ifinfo
This document was produced for version @value{VERSION} of @sc{gnu}
@sc{mailutils}.
@end ifinfo
@menu
* Introduction::                GNU @sc{mailutils}
* Mailbox::                     Mailbox API.
* Mailer::                      Protocol Use to Send Mail.
* Message::                     Message API.
* Headers::                     Headers API.
* Body::                        Body API.
* URL::                         Unified Ressource Locator.
* Authenticator::               Authenticator.
* Mime::                        Mime API.
* Encoding::                    Encoding API.
* Reporting Bugs::              Reporting Bugs.
* Acknowledgement::             Thanks and Credits.
* Concept Index ::
* Index::                       All @sc{Mailutils} Functions.

@end menu

@node Introduction, Mailbox, Top, Top
@comment  node-name,  next,  previous,  up
@chapter Introduction
@cindex Introduction

@sc{gnu} @sc{Mailutils} offers a general purpose library aimed to provide
a rich set of functions for accessing different mailbox formats and mailers.

@example
@group

                             mailbox_t                  url_t
  -/var/mail-    +---//---->+-----------------+    +-->+-----------+
 (  alain   )    |          |  url_t        *-|----+   |  port     |
  -----------    |          +-----------------+        |  hostname |
 (  jakob *-)----+          |  auth_t       *-|----+   |  file     |
  -----------               +-----------------+    |   |  ...      |
 (  jeff    )           +---|-* message_t[0]  |    |   +-----------+
  -----------           |   |   message_t[1]  |    |
 (  sean    )           |   |   ...           |    |    auth_t
  ----------            |   +-----------------+    +-->+----------+
                        |                              |  user    |
   message_t            |                              |  passwd  |
 +--------------+<------+                    header_t  +----------+
 |  header_t  *-|-----------------------+-->+---------------+
 +--------------+       body_t          |   |  name/val[0]  |
 |  body_t[0] *-|----->+-------------+  |   |  ...          |
 |  body_t[1]   |      |  header_t *-|--+   +---------------+
 |  ...         |      +-------------+
 +--------------+      |  content    |
                       |  next_body  |
                       +-------------+
@end group
@end example
@comment @example
@comment @group
@comment                              USER Client
@comment                          -------------------
@comment                             |           |
@comment               +-------------+           +-------------+
@comment               |                                       |
@comment          /-----------\                          /-----------\
@comment          | mailbox_t |                          | mailer_t  |
@comment          \-----------/                          \-----------/
@comment               |                                       |
@comment               +--------------------+------------------+
@comment                                    |
@comment                           /------------------\
@comment                           |     message_t    |
@comment                           \------------------/
@comment                           | body_t | header_t|
@comment                           +------------------+
@comment                                    |
@comment               +--------------------+----------------+
@comment               |                                      |
@comment            -------                            ////////////////
@comment           (_______)                           //    LAN     //
@comment           (_______)                           ////////////////
@comment           (_______)
@comment @end group
@comment @end example

For example writing a simple @command{from} command that will list @emph{From}
and @emph{Subject} of a folder.

@example
@include sfrom.c.texi
@end example

@node Mailbox, Mailer, Introduction, Top
@comment  node-name,  next,  previous,  up
@chapter Mailbox
@cindex Mailbox

@include mailbox.texi

@node Mailer, Message, Mailbox, Top
@comment  node-name,  next,  previous,  up
@chapter Mailer
@cindex Mailer

@include mailer.texi

@node Message, Headers , Mailer, Top
@comment  node-name,  next,  previous,  up
@chapter Message
@cindex Message

@include message.texi

@node Headers , Body, Message, Top
@comment  node-name,  next,  previous,  up
@chapter Headers
@cindex Headers

@include headers.texi

@node Body, URL, Headers , Top
@comment  node-name,  next,  previous,  up
@chapter Body
@cindex Body

@include body.texi

@node URL, Authenticator, Body, Top
@comment  node-name,  next,  previous,  up
@chapter URL
@cindex URL

@include url.texi

@node Authenticator, Mime , URL, Top
@comment  node-name,  next,  previous,  up
@chapter Authenticator
@cindex Authenticator

@include auth.texi

@node Mime , Encoding, Authenticator, Top
@comment  node-name,  next,  previous,  up
@chapter Mime
@cindex Mime

@include mime.texi

@node Encoding, Reporting Bugs, Mime , Top
@comment  node-name,  next,  previous,  up
@chapter Encoding
@cindex Encoding

@include encoding.texi

@node Reporting Bugs, Acknowledgement, Encoding, Top
@comment  node-name,  next,  previous,  up
@chapter Reporting Bugs
@cindex Reporting Bugs

Email bug reports to @email{bug-mailutils@@gnu.org}.
Be sure to include the word ``mailutils'' somewhere in the ``Subject:'' field.

@node Acknowledgement, Concept Index , Reporting Bugs, Top
@comment  node-name,  next,  previous,  up
@chapter Acknowledgement
@cindex Acknowledgement

In no particular order,
Jakob Kaivo @email{jkaivo@@ndn.net},
Jeff Bailey @email{jbailey@@gnu.org},
Sean Perry @email{shaleh@@debian.org},
Thomas Fletcher @email{thomasf@@qnx.com}.

@page
@node Concept Index , Index, Acknowledgement, Top
@comment node-name,  next,  previous,  up
@unnumbered Concept Index

This is a general index of all issues discussed in this manual

@printindex cp
@page

@node Index,  , Concept Index , Top
@unnumbered Index

This is an alphabetical list of all @sc{mailutils} functions.

@printindex fn

@contents

@bye