/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ #include #include "camel-mime-message.h" #include "camel-mime-body-part.h" #include "camel-multipart.h" #include "camel-stream.h" #include "camel-stream-fs.h" #include "camel-stream-data-wrapper.h" #include "camel.h" int main (int argc, char**argv) { CamelMimeMessage *message; CamelMultipart *multipart; CamelMimeBodyPart *body_part; CamelMimeBodyPart *attachment_part; CamelStream *attachment_stream; /* FILE *output_file; */ CamelStream *stream; gtk_init (&argc, &argv); camel_init (); if (argc < 2) { attachment_stream = NULL; } else { if (argc == 2) { attachment_stream = camel_stream_fs_new_with_name (argv[1], CAMEL_STREAM_FS_READ); if (attachment_stream == NULL) { fprintf (stderr, "Cannot open `%s'\n", argv[1]); return 1; } } else { fprintf (stderr, "Usage: %s []\n", argv[0]); return 1; } } message = camel_mime_message_new (); camel_mime_part_set_description (CAMEL_MIME_PART (message), "a test"); camel_medium_add_header (CAMEL_MEDIUM (message), "X-test1", "the value of a test"); camel_medium_add_header (CAMEL_MEDIUM (message), "X-test2", "the value of another test"); /*camel_mime_part_add_content_language (CAMEL_MIME_PART (message), g_string_new ("es-ca"));*/ camel_mime_message_set_received_date (message, g_strdup ("Thu, 20 May 1999, 10:39:14 +0200")); camel_mime_message_set_subject (message, g_strdup ("A test message")); camel_mime_message_set_reply_to (message, g_strdup ("toto@toto.com")); camel_mime_message_set_from (message, g_strdup ("Bertrand.Guiheneuf@aful.org")); camel_mime_message_add_recipient (message, CAMEL_RECIPIENT_TYPE_TO, g_strdup ("franck.dechamps@alseve.fr")); camel_mime_message_add_recipient (message, CAMEL_RECIPIENT_TYPE_TO, g_strdup ("mc@alseve.fr")); camel_mime_message_add_recipient (message, CAMEL_RECIPIENT_TYPE_TO, g_strdup ("richard.lengagne@inria.fr")); camel_mime_message_add_recipient (message, CAMEL_RECIPIENT_TYPE_CC, g_strdup ("Francois.fleuret@inria.fr")); camel_mime_message_add_recipient (message, CAMEL_RECIPIENT_TYPE_CC, g_strdup ("maury@justmagic.com")); camel_mime_message_add_recipient (message, CAMEL_RECIPIENT_TYPE_BCC, g_strdup ("Bertrand.Guiheneuf@aful.org")); multipart = camel_multipart_new (); body_part = camel_mime_body_part_new (); camel_mime_part_set_text (CAMEL_MIME_PART (body_part), "This is a test.\nThis is only a test.\n"); camel_multipart_add_part (multipart, body_part); if (attachment_stream == NULL) { attachment_part = NULL; } else { CamelDataWrapper *attachment_wrapper; /*CamelDataWrapper *stream_wrapper; stream_wrapper = camel_stream_data_wrapper_new (attachment_stream); attachment_part = camel_mime_body_part_new (); camel_mime_part_set_encoding (CAMEL_MIME_PART (attachment_part), CAMEL_MIME_PART_ENCODING_BASE64); camel_medium_set_content_object (CAMEL_MEDIUM (attachment_part), stream_wrapper); camel_multipart_add_part (multipart, attachment_part); gtk_object_unref (GTK_OBJECT (stream_wrapper));*/ attachment_wrapper = CAMEL_DATA_WRAPPER (camel_simple_data_wrapper_new ()); camel_data_wrapper_set_input_stream (attachment_wrapper, attachment_stream); attachment_part = camel_mime_body_part_new (); camel_mime_part_set_encoding (CAMEL_MIME_PART (attachment_part), CAMEL_MIME_PART_ENCODING_BASE64); camel_medium_set_content_object (CAMEL_MEDIUM (attachment_part), attachment_wrapper); camel_multipart_add_part (multipart, attachment_part); } camel_medium_set_content_object (CAMEL_MEDIUM (message), CAMEL_DATA_WRAPPER (multipart)); stream = camel_stream_fs_new_with_name ("mail1.test", CAMEL_STREAM_FS_WRITE ); if (!stream) { printf ("could not open output file"); exit(2); } camel_data_wrapper_write_to_stream (CAMEL_DATA_WRAPPER (message), stream); camel_stream_close (stream); gtk_object_unref (GTK_OBJECT (stream)); gtk_object_unref (GTK_OBJECT (message)); gtk_object_unref (GTK_OBJECT (multipart)); gtk_object_unref (GTK_OBJECT (body_part)); if (attachment_part != NULL) gtk_object_unref (GTK_OBJECT (attachment_part)); printf ("Test1 finished\n"); return 1; } /2019Q4'>branches/2019Q4 FreeBSD Ports (https://github.com/freebsd/freebsd-ports)
aboutsummaryrefslogtreecommitdiffstats
Commit message (Expand)AuthorAgeFilesLines
* Remove WWW entries moved into port MakefilesStefan Eßer2022-09-081-2/+0
* Add WWW entries to port MakefilesStefan Eßer2022-09-081-0/+1
* framework: switch tree to using vala.mkTobias C. Berner2022-08-271-2/+1
* net-im: remove 'Created by' linesTobias C. Berner2022-07-201-2/+0
* net-im/folks: Update to 0.15.5Neel Chauhan2022-04-272-5/+4
* textproc/libxml2: bump all LIB_DEPENDS consumersCharlie Li2022-04-111-1/+1
* textproc/libxml2: bump all dependenciesMatthias Fechner2022-03-261-1/+1
* net-im/folks: drop unused Meson options after 82ec8506217aJan Beich2021-11-081-8/+1
* net-im/folks: Fix pkg-plistNeel Chauhan2021-10-012-9/+9
* net-im/folks: Update to 0.15.3Neel Chauhan2021-10-013-35/+25
* net-im/folks: fix packaging when TRACKER disabledCharlie Li2021-08-052-2/+4
* Remove # $FreeBSD$ from Makefiles.Mathieu Arnold2021-04-061-1/+0
* security/gcr: Update to 3.38.0Tobias C. Berner2020-10-311-1/+2
* First batch at upgrading gnome to 3.36/3.38Baptiste Daroussin2020-09-293-31/+22
* Update devel/readline to 8.0Sunpoet Po-Chuan Hsieh2019-04-091-1/+1
* Drop libsocialweb support, it is archived upstream.Koop Mast2019-03-232-21/+9
* The FreeBSD GNOME team proudly presents GNOME 3.28 for FreeBSD.Koop Mast2018-09-301-5/+18
* Update net-im/folks to 0.11.4Don Lewis2018-01-24