int main(int argc, char ** argv) { struct mailimap * imap; int r; /* ./imap-sample [email protected] mygmailpassword */ if (argc < 3) { fprintf(stderr, "usage: imap-sample [gmail-email-address] [password]\n"); exit(EXIT_FAILURE); } mkdir("download", 0700); imap = mailimap_new(0, NULL); r = mailimap_ssl_connect(imap, "imap.gmail.com", 993); fprintf(stderr, "connect: %i\n", r); check_error(r, "could not connect to server"); r = mailimap_login(imap, argv[1], argv[2]); check_error(r, "could not login"); r = mailimap_select(imap, "INBOX"); check_error(r, "could not select INBOX"); fetch_messages(imap); mailimap_logout(imap); mailimap_free(imap); exit(EXIT_SUCCESS); }
mail_account* mail_new_imap(mail_account* em) { em->self.imap = mailimap_new(0, NULL); if (em->self.imap == NULL) return NULL; em->mail_capabilities = 0; /* MAIL_CAN_SEND | MAIL_CAN_RECEIVE | MAIL_CAN_SEARCH */ em->connect = &mail_connect_imap; return em; }