summaryrefslogtreecommitdiff
path: root/README
blob: f42fed59c1698d28bc915e323448efd2e8c3265a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
                            GMime, version 2.6.15
                   by Jeffrey Stedfast <fejj@gnome.org>


WHAT IS GMIME
-------------

GMime is a C/C++ library for parsing and creating messages using
the Multipurpose Internet Mail Extension (MIME) as defined by the
following RFCs:

 * 0822: Standard for the Format of Arpa Internet Text Messages
 * 1521: MIME (Multipurpose Internet Mail Extensions) Part One:
         Mechanisms for Specifying and Describing the Format of 
         Internet Message Bodies
 * 1847: Security Multiparts for MIME: Multipart/Signed and 
         Multipart/Encrypted
 * 1864: The Content-MD5 Header Field (Obsoletes rfc1544)
 * 2015: MIME Security with Pretty Good Privacy (PGP)
 * 2045: Multipurpose Internet Mail Extensions (MIME) Part One:
         Format of Internet Message Bodies
 * 2046: Multipurpose Internet Mail Extensions (MIME) Part Two:
         Media Types
 * 2047: Multipurpose Internet Mail Extensions (MIME) Part Three:
         Message Header Extensions for Non-ASCII Text
 * 2048: Multipurpose Internet Mail Extensions (MIME) Part Four:
         Registration Procedures
 * 2049: Multipurpose Internet Mail Extensions (MIME) Part Five:
         Conformance Criteria and Examples
 * 2183: Communicating Presentation Information in Internet Messages:
         The Content-Disposition Header Field
 * 2184: MIME Parameter Value and Encoded Word Extensions: Character
         Sets, Languages, and Continuations
 * 2231: MIME Parameter Value and Encoded Word Extensions: Character
         Sets, Languages, and Continuations (Obsoletes rfc2184)
 * 2822: Internet Message Format (Obsoletes rfc822)
 * 3156: MIME Security with OpenPGP (Updates rfc2015)
 * 5322: Internet Message Format (Obsoletes rfc2822)

Other RFCs of interest:

 * 1872: The MIME Multipart/Related Content-type
 * 1927: Suggested Additional MIME Types for Associating Documents
 * 2111: Content-ID and Message-ID Uniform Resource Locators
 * 2311: S/MIME Version 2 Message Specification
 * 2312: S/MIME Version 2 Certificate Handling
 * 2387: The Multipart/Related Content-Type.
 * 2424: Content Duration MIME Header Definition
 * 2630: Cryptographic Message Syntax
 * 2632: S/MIME Version 3 Certificate Handling
 * 2633: S/MIME Version 3 Message Specification
 * 2634: Enhanced Security Services for S/MIME
 * 3280: Internet X.509 Public Key Infrastructure certificate and 
         Certificate Revocation List (CRL) Profile

Cryptography related RFCs:

 * 2268: A Description of the RC2(r) Encryption Algorithm
 * 2313: PKCS #1: RSA Encryption
 * 2314: PKCS #10: Certification Request Syntax
 * 2315: PKCS #7: Cryptographic Message Syntax
 * 2631: Diffie-Hellman Key Agreement Method


LICENSE INFORMATION
-------------------

The GMime library is Copyright (C) 2000-2011 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.


HISTORY
-------

As a developer and user of Electronic Mail clients, I had come to
realize that the vast majority of E-Mail client (and server) software
had less-than-satisfactory MIME implementations. More often than not
these E-Mail clients created broken MIME messages and/or would
incorrectly try to parse a MIME message thus subtracting from the full
benefits that MIME was meant to provide. GMime is meant to address
this issue by following the MIME specification as closely as possible
while also providing programmers with an extremely easy to use
high-level application programming interface (API).


OBTAINING GMIME
---------------

Sources to GMime may be obtained from:
  http://download.gnome.org/pub/GNOME/sources/gmime/
or
  ftp://ftp.gnome.org/pub/GNOME/sources/gmime/

Information regarding GMime may be obtained from the Spruce home page:
  http://spruce.sourceforge.net/gmime/

Experimental versions of GMime may be obtained by following the
directions at http://developer.gnome.org/tools/svn.html

  git clone git://git.gnome.org/gmime


REQUIREMENTS
------------

For proper compilation and functionality of GMime, the following packages
are REQUIRED:

  - Glib version >= 2.18.0

    Glib provides a number of portability-enhancing functions and types.
    Glib is included in most GMime-supported operating system
    distributions.  Glib sources may be obtained from:
      ftp://ftp.gtk.org/pub/glib


DOCUMENTATION
-------------

This is the README file for GMime.  Additional documentation related to
development using GMime has been included within the source release
of GMime.

  docs/reference/       Contains SGML and HTML versions of the GMime
                        reference manual

  docs/tutorial/        Contains SGML and HTML versions of the GMime
                        tutorial

  AUTHORS               List of primary authors (source code developers)

  COPYING               The GNU Lesser General Public License, version 2

  ChangeLog             Log of changes made to the source code

  INSTALL               In-depth installation instructions

  NEWS                  Release notes (Overview of changes)

  TODO                  Description of planned GMime development

  PORTING               Guide for developers porting their application
                        from an older version of GMime


You can find online developer documentation at
http://library.gnome.org/devel/gmime/stable/


MAILING-LIST
------------

For discussion of GMime development (either of GMime itself or using
GMime in your own application), you may find the GMime-Devel
mailing-list helpful. To subscribe, please see
http://mail.gnome.org/mailman/listinfo/gmime-devel-list


BINDINGS
--------

Other developers have been working to make GMime available to
programmers in other languages. The current list of known bindings
are:

- Perl: http://search.cpan.org/dist/MIME-Fast/

- .NET (Mono): Included in this distribution.


REPORTING BUGS
--------------

Bugs may be reported to the GMime development team by submitting a bug
report for the gmime module at http://bugzilla.gnome.org/