libcmime
A lightweight C mime library
#define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include "../src/cmime_message.h"
void usage() {
printf("\n");
printf("libcmime - simple api demonstration\n");
printf("-----------------------------------\n");
printf("demonstrates: manual creation of new CMimeMessage_T mime message\n");
printf("output: output is written to stdout if no output file is specified (-f /path/to/out_file.txt)\n");
printf("\n");
exit(0);
}
int main(int argc, char *argv[]) {
char from[] = "from@example.org";
char to[] = "to@example.org";
char *file = NULL;
char *out = NULL;
char *msgid = NULL;
int option;
while((option = getopt(argc,argv,"hf:")) != EOF) {
switch(option) {
case 'f':
asprintf(&file, "%s", optarg);
break;
case 'h':
usage();
break;
default:
usage();
}
}
if(file != NULL) {
printf("file created: %s\n", file);
} else {
printf("error writing file: %s\n", file);
}
} else {
printf("%s\n", out);
}
if(out != NULL)
free(out);
if(msgid != NULL)
free(msgid);
if(file != NULL)
free(file);
return (0);
}
void cmime_message_set_sender(CMimeMessage_T *message, const char *sender)
Add sender to CMimeMessage_T object. If sender already exists, it will be overwritten.
Definition: cmime_message.c:455
int cmime_message_to_file(CMimeMessage_T *message, const char *filename)
Write CMimeMessage_T object to file.
Definition: cmime_message.c:792
int cmime_message_add_recipient(CMimeMessage_T *message, const char *recipient, CMimeAddressType_T t)
Add recipient to message.
Definition: cmime_message.c:539
char * cmime_message_to_string(CMimeMessage_T *message)
Return a message object as string.
Definition: cmime_message.c:816
int cmime_message_set_date_now(CMimeMessage_T *message)
Get current time and set date header.
Definition: cmime_message.c:655
CMimeMessage_T * cmime_message_new(void)
Creates a new CMimeMessage_T object.
Definition: cmime_message.c:400
void cmime_message_free(CMimeMessage_T *message)
Free a CMimeMessage_T object.
Definition: cmime_message.c:431
Represents an email message.
Definition: cmime_message.h:79
void cmime_message_set_subject(CMimeMessage_T *message, const char *s)
Set message subject.
Definition: cmime_message.c:955
char * cmime_message_generate_boundary(void)
Generate a message boundary.
Definition: cmime_message.c:695
void cmime_message_set_message_id(CMimeMessage_T *message, const char *mid)
Set message id to CMimeMessage_T object, if alreay exists, value will be overwritten.
Definition: cmime_message.c:482
int cmime_message_set_body(CMimeMessage_T *message, const char *content)
Set plain body to non multipart message.
Definition: cmime_message.c:1021
@ CMIME_ADDRESS_TYPE_TO
Definition: cmime_address.h:47