漢堡包的blog

A blog about Hamburger Lin

 

Simplest GMime Example Code June 2, 2009

Filed under: 程式語言 — hambster @ 5:25 pm

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
#include <stdio .h>
#include <stdlib .h>
#include <string .h>
#include <gmime -2.0/gmime/gmime.h>
#include <errno .h>
 
void
error_msg(const char *msg)
{
        if (NULL != msg)
                printf("%s - (%d)\n", msg, gmime_error_quark);
 
        exit(1);
}
 
int
main(int argc, char *argv[])
{
        FILE *fp = NULL;
        const char *subject = NULL;
        const char *msg_id = NULL;
 
        GMimeParser     *parser = NULL;
        GMimeStream     *gfs = NULL;
        GMimeMessage    *message = NULL;
        GMimeObject     *part = NULL;
 
        gpointer        user_data;
 
        if (2 != argc ||
                NULL == (fp = fopen(argv[1], "r")))
                error_msg("invalid argument!!");
 
        g_mime_init(0);
 
        if (NULL == (gfs = g_mime_stream_file_new(fp)))
                error_msg("failed to get stream!!");
 
        if (NULL == (parser = g_mime_parser_new_with_stream(gfs)))
                error_msg("failed to get parser!!");
 
        if (NULL == (message = g_mime_parser_construct_message(parser)))
                error_msg("failed to construct message!!");
 
        subject = g_mime_message_get_subject(message);
        msg_id = g_mime_message_get_message_id(message);
 
        printf("Subject: %s\n", subject);
        printf("Message-Id: %s\n", msg_id);
 
        g_mime_shutdown();
 
        return 0;
}
</errno></gmime></string></stdlib></stdio>

 

1 Comment for this post

 
DADIDA Says:

維大力 義大利? 哩公蝦?

Leave a Reply