MCPcopy Create free account
hub / github.com/MailCore/mailcore2 / importIMAPEnvelope

Method importIMAPEnvelope

src/core/abstract/MCMessageHeader.cpp:787–925  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

785}
786
787void MessageHeader::importIMAPEnvelope(struct mailimap_envelope * env)
788{
789 if (env->env_date != NULL) {
790 size_t cur_token;
791 struct mailimf_date_time * date_time;
792 int r;
793
794 cur_token = 0;
795 r = mailimf_date_time_parse(env->env_date, strlen(env->env_date),
796 &cur_token, &date_time);
797 if (r == MAILIMF_NO_ERROR) {
798 time_t timestamp;
799
800 // date
801 timestamp = timestampFromDate(date_time);
802 setDate(timestamp);
803 setReceivedDate(timestamp);
804 mailimf_date_time_free(date_time);
805 }
806 else {
807 struct mailimap_date_time * imap_date;
808
809 r = mailimap_hack_date_time_parse(env->env_date, &imap_date, 0, NULL);
810 if (r == MAILIMAP_NO_ERROR) {
811 time_t timestamp;
812
813 timestamp = timestampFromIMAPDate(imap_date);
814 setDate(timestamp);
815 setReceivedDate(timestamp);
816 mailimap_date_time_free(imap_date);
817 }
818 }
819 }
820
821 if (env->env_subject != NULL) {
822 char * subject;
823
824 // subject
825 subject = env->env_subject;
826 setSubject(String::stringByDecodingMIMEHeaderValue(subject));
827 }
828
829 if (env->env_sender != NULL) {
830 if (env->env_sender->snd_list != NULL) {
831 Array * addresses;
832
833 addresses = imap_mailbox_list_to_address_array(env->env_sender->snd_list);
834 if (addresses->count() > 0) {
835 setSender((Address *) addresses->objectAtIndex(0));
836 }
837 }
838 }
839
840 if (env->env_from != NULL) {
841 if (env->env_from->frm_list != NULL) {
842 Array * addresses;
843
844 addresses = imap_mailbox_list_to_address_array(env->env_from->frm_list);

Callers 2

msg_att_handlerFunction · 0.80

Calls 4

msg_id_to_string_arrayFunction · 0.85
objectAtIndexMethod · 0.80
countMethod · 0.45

Tested by

no test coverage detected