X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fjournaling.c;h=ec158b43c80999e120a1d02669002900aa6d3acb;hb=3c36e43b1e8340d82ad0f9d1ae4cd3133e1530ad;hp=5cba32940eeecf6719815b9065d01093499e3925;hpb=35ae89771ed7d6bdf816b6036986f6c311a7e921;p=citadel.git diff --git a/citadel/journaling.c b/citadel/journaling.c index 5cba32940..ec158b43c 100644 --- a/citadel/journaling.c +++ b/citadel/journaling.c @@ -47,6 +47,8 @@ #include "html.h" #include "genstamp.h" #include "internet_addressing.h" +#include "vcard.h" +#include "serv_vcard.h" #include "journaling.h" struct jnlq *jnlq = NULL; /* journal queue */ @@ -88,6 +90,28 @@ void JournalBackgroundSubmit(struct CtdlMessage *msg, } +/* + * Convert a local user name to an internet email address for the journal + */ +void local_to_inetemail(char *inetemail, char *localuser, size_t inetemail_len) { + struct ctdluser us; + struct vCard *v; + + strcpy(inetemail, ""); + if (getuser(&us, localuser) != 0) { + return; + } + + v = vcard_get_user(&us); + if (v == NULL) { + return; + } + + extract_primary_inet_email(inetemail, inetemail_len, v); + vcard_free(v); +} + + /* * Called by JournalRunQueue() to send an individual message. */ @@ -98,6 +122,7 @@ void JournalRunQueueMsg(struct jnlq *jmsg) { char *message_text = NULL; char mime_boundary[256]; char recipient[256]; + char inetemail[256]; static int seq = 0; int i; @@ -170,8 +195,9 @@ void JournalRunQueueMsg(struct jnlq *jmsg) { for (i=0; irecps.num_local; ++i) { extract_token(recipient, jmsg->recps.recp_local, i, '|', sizeof recipient); + local_to_inetemail(inetemail, recipient, sizeof inetemail); sprintf(&message_text[strlen(message_text)], - " %s\r\n", recipient); + " %s <%s>\r\n", recipient, inetemail); } }