X-Git-Url: https://code.citadel.org/?p=citadel.git;a=blobdiff_plain;f=citadel%2Fmodules%2Fsmtp%2Fserv_smtpqueue.c;h=bdf1a323a29390f69d9c24dd13faf7eb43967b06;hp=c071daf2b8f7cdf44ac91d46d525eb42f8c44950;hb=d9d90025f08f931a7b85e3393c0f54cd590bbd25;hpb=bc8ab5f710b4ab69d82522104aebe9e1629391cd diff --git a/citadel/modules/smtp/serv_smtpqueue.c b/citadel/modules/smtp/serv_smtpqueue.c index c071daf2b..bdf1a323a 100644 --- a/citadel/modules/smtp/serv_smtpqueue.c +++ b/citadel/modules/smtp/serv_smtpqueue.c @@ -783,6 +783,26 @@ void smtp_do_procmsg(long msgnum, void *userdata) { FreeStrBuf(&All); FreeStrBuf(&One); } + + Url = &MyQItem->FallBackHost; + nRelays = get_hosts(mxbuf, "fallbackhost"); + if (nRelays > 0) { + StrBuf *All; + StrBuf *One; + const char *Pos = NULL; + All = NewStrBufPlain(mxbuf, -1); + One = NewStrBufPlain(NULL, StrLength(All) + 1); + + while ((Pos != StrBufNOTNULL) && ((Pos == NULL) || !IsEmptyStr(Pos))) { + StrBufExtract_NextToken(One, All, &Pos, '|'); + if (!ParseURL(Url, One, 25)) + CtdlLogPrintf(CTDL_DEBUG, "Failed to parse: %s\n", ChrPtr(One)); + else + Url = &(*Url)->Next; + } + FreeStrBuf(&All); + FreeStrBuf(&One); + } } It = GetNewHashPos(MyQItem->MailQEntries, 0);