Jeffrey Stedfast


This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.


This manual documents the interfaces of the GMime library and has some short notes to help get you up to speed with using the library.

I. GMime Overview
Compiling the GMime libraries — How to compile GMime itself
Compiling GMime Applications — How to compile your GMime application
Changes from 1.0 to 2.0 — Incompatible changes made between version 1.0 and version 2.0
Changes from 2.0 to 2.2 — Incompatible changes made between version 2.0 and version 2.2
Changes from 2.2 to 2.4 — Changes made between version 2.2 and version 2.4
Mailing lists and bug reports — Getting help with GMime
Frequently Asked Questions — Find answers to common questions in the GMime manual
II. GMime Fundamentals
GMime Streams — How to use GMime Streams
GMime Stream Filters — How to use GMime Stream Filters
GMime Data Wrappers — How to use GMime Data Wrappers
III. GMime Core Reference
gmime — Initialization, shutdown and version-check routines
gmime-charset — Charset helper functions
gmime-iconv — Low-level routines for converting text from one charset to another
gmime-iconv-utils — High-level routines for converting text from one charset to another
gmime-encodings — MIME encoding functions
gmime-utils — MIME utility functions
IV. GMime Classes
Class hierarchy
GMimeStream — Abstract stream class
GMimeStreamFile — A Standard-C FILE-based stream
GMimeStreamFs — A low-level FileSystem stream
GMimeStreamMem — A memory-backed stream
GMimeStreamMmap — A memory-mapped file stream
GMimeStreamNull — A null stream
GMimeStreamFilter — A filtering stream
GMimeStreamBuffer — A buffered stream
GMimeStreamCat — A concatenated stream
Stream Filters
GMimeFilter — Abstract filter class
GMimeFilterBasic — Basic transfer encoding filter
GMimeFilterBest — Determine the best charset/encoding to use for a stream
GMimeFilterCharset — Charset-conversion filter
GMimeFilterCRLF — Convert line-endings from LF to CRLF or vise versa
GMimeFilterEnriched — Convert text/enriched or text/rtf to HTML
GMimeFilterFrom — Escape MBox From_ lines
GMimeFilterGZip — GNU Zip compression/decompression
GMimeFilterHTML — Convert plain text into HTML
GMimeFilterMd5 — Calculate an md5sum
GMimeFilterStrip — Strip trailing whitespace from the end of lines
GMimeFilterWindows — Determine if text is in a Microsoft Windows codepage
GMimeFilterYenc — yEncode or yDecode
Data Wrappers
GMimeDataWrapper — Content objects
Message and MIME Headers
GMimeHeader — Message and MIME part headers
GMimeContentType — Content-Type fields
GMimeContentDisposition — Content-Disposition fields
GMimeParam — Content-Type and Content-Disposition parameters
Internet Addresses
InternetAddress — Internet addresses
InternetAddressGroup — rfc822 'group' address
InternetAddressMailbox — rfc822 'mailbox' address
InternetAddressList — A list of internet addresses
MIME Messages and Parts
GMimeObject — Abstract MIME objects
GMimeMessage — Messages
GMimePart — MIME parts
GMimeMultipart — MIME multiparts
GMimeMultpartEncrypted — Encrypted MIME multiparts
GMimeMultpartSigned — Signed MIME multiparts
GMimeMessagePart — Message parts
GMimeMessagePartial — Partial MIME parts
Parsing Messages and MIME Parts
GMimeParser — Message and MIME part parser
Cipher Contexts
GMimeCipherContext — Encryption/signing contexts
GMimeGpgContext — GnuPG cipher contexts
GMimeSession — Session interface
GMimeSessionSimple — A Simple Session