summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org>2020-08-01 11:35:55 +0300
committerSergey Poznyakoff <gray@gnu.org>2020-08-01 11:42:53 +0300
commit2843c4054207db33a1237a6991143564c086b3d2 (patch)
tree6df6529a91862b19809e5a781cd6cca61bcae3f9 /include
parent9bf6ea3758f5516f2c2b10945ffd345540698225 (diff)
downloadmailutils-2843c4054207db33a1237a6991143564c086b3d2.tar.gz
mailutils-2843c4054207db33a1237a6991143564c086b3d2.tar.bz2
New function for reconstructing the message envelope from its headers.
* libmailutils/address/parse822.c (mu_parse822_route_addr): Accept <local-part-only> if the default domain is set. * include/mailutils/message.h (mu_message_reconstruct_envelope): New prototype. * libmailutils/mailbox/msgenv.c (message_envelope_sender): Try each candidate header in turn until a valid email is extracted or run out of headers. In the latter case, use the current user login name as the email. (mu_message_reconstruct_envelope): New function. * libmailutils/tests/Makefile.am: Add new test. * libmailutils/tests/testsuite.at: Likewise. * libmailutils/tests/recenv.c: Test program for the mu_message_reconstruct_envelope function * libmailutils/tests/recenv.at: New test.
Diffstat (limited to 'include')
-rw-r--r--include/mailutils/message.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/mailutils/message.h b/include/mailutils/message.h
index 3c342d8ea..a5dc4741f 100644
--- a/include/mailutils/message.h
+++ b/include/mailutils/message.h
@@ -127,6 +127,9 @@ extern void mu_message_unref (mu_message_t);
extern int mu_message_get_envelope (mu_message_t, mu_envelope_t *);
extern int mu_message_set_envelope (mu_message_t, mu_envelope_t, void *);
+extern int mu_message_reconstruct_envelope (mu_message_t msg,
+ mu_envelope_t *penv);
+
extern int mu_message_get_header (mu_message_t, mu_header_t *);
extern int mu_message_set_header (mu_message_t, mu_header_t, void *);

Return to:

Send suggestions and report system problems to the System administrator.