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
Changes from 2.4 to 2.6 — Changes made between version 2.4 and version 2.6
Changes from 2.6 to 3.0 — Changes made between version 2.6 and version 3.0
Mailing lists and bug reports — Getting help with GMime
Frequently Asked Questions — Find answers to common questions in the GMime manual
II. GMime Fundamentals
Streams — How to use Streams
Stream Filters — How to use Stream Filters
Data Wrappers — How to use 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
GMimeReferences — a list of Message-Ids
GMimeFormatOptions — Format options
IV. GMime Classes
Class hierarchy
GMimeStream — Abstract stream class
GMimeStreamFile — A Standard-C FILE-based stream
GMimeStreamFs — A low-level FileSystem stream
GMimeStreamGIO — A wrapper for GLib's GIO streams
GMimeStreamMem — A memory-backed stream
GMimeStreamMmap — A memory-mapped file stream
GMimeStreamNull — A null stream
GMimeStreamFilter — A filtering stream
GMimeStreamBuffer — A buffered stream
GMimeStreamPipe — A low-level pipe 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
GMimeFilterChecksum — Calculate a checksum
GMimeFilterDos2Unix — Convert line-endings from Windows/DOS (CRLF) to UNIX (LF).
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
GMimeFilterOpenPGP — Detect OpenPGP markers.
GMimeFilterSmtpData — Byte-stuffs outgoing SMTP DATA.
GMimeFilterStrip — Strip trailing whitespace from the end of lines
GMimeFilterUnix2Dos — Convert line-endings from UNIX (LF) to Windows/DOS (CRLF).
GMimeFilterWindows — Determine if text is in a Microsoft Windows codepage
GMimeFilterYenc — yEncode or yDecode
Data Wrappers
GMimeDataWrapper — Content objects
Message and MIME Headers
GMimeHeaderList — Message and MIME part headers
GMimeContentType — Content-Type fields
GMimeContentDisposition — Content-Disposition fields
GMimeParamList — 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
GMimeTextPart — textual MIME parts
GMimeMultipart — MIME multiparts
GMimeMultipartEncrypted — Encrypted MIME multiparts
GMimeMultipartSigned — Signed MIME multiparts
GMimeApplicationPkcs7Mime — Pkcs7 MIME parts
GMimeMessagePart — Message parts
GMimeMessagePartial — Partial MIME parts
GMimePartIter — MIME part iterators
Parsing Messages and MIME Parts
GMimeParserOptions — Parser options
GMimeParser — Message and MIME part parser
Cryptography Contexts
GMimeCertificate — Digital certificates
GMimeSignature — Digital signatures
GMimeCryptoContext — Encryption/signing contexts
GMimeGpgContext — GnuPG crypto contexts
GMimePkcs7Context — PKCS7 crypto contexts