From: Ben Schmidt <mail_ben_schmidt@yahoo.com.au>
To: mlmmj@mlmmj.org
Subject: Re: [mlmmj] Re: Mail delivery issues and requeue
Date: Thu, 11 Nov 2010 12:33:35 +0000 [thread overview]
Message-ID: <4CDBE29F.9090304@yahoo.com.au> (raw)
In-Reply-To: <D5B431D8-D13A-468D-BE78-81FB9FAFB10D@925.dk>
>> There isn't a followup error message after the Error in RCPT TO, is
>> there? I don't expect one, but it's worth checking!
>
> Nope there is not. Today the same thing happened. No mailfile for that
> list in requeue/x/. Only thing in error log was:
>
> Nov 11 09:52:22 goulding /usr/local/bin/mlmmj-send[89349]: mlmmj-send.c:267: Error in MAIL FROM. Reply = [501 5.1.7 Bad sender address syntax^M ]: No such file or directory
>
> Again because of a bad address. But I don't think the bad address
> itself is the problem? I mean, thats what requeue is there for in the
> first place. There must be some other reason while the mailfile is
> never being created for this list on requeue. As I've mentioned, the
> other lists on the same server, gets their mailfile's created just
> fine. And all lists have same setup/config (I triple checked that!).
Yeah, exactly. Something very strange is going on. I doubt it's getting
to the relevant point in mlmmj-send where the mail is moved to mailfile.
It might be exit()ing for some undesired reason prior to that point
(like the potential init_sockfd() problem I just wrote about and found
while investigating this issue), or it might be segfaulting or
something.
Do you have a verp control file at all? What's in it if so?
Also, these are normal posts, not digests, aren't they?
> I'm using mlmmj-1.2.17.1 from the FreeBSD ports.
>
> I don't know what is going, but it is a problem, because the
> subscribers in requeue will never get their mails, because of the
> missing mailfile.
>
> Would it be possible to at least add a log_error() in the relevant
> place where the mailfile is supposed to be created? I think it's in
> mlmmj-send.c at the bottom of main():
>
> ...
> if (rename(mailfilename, requeuefilename)< 0)
> unlink(mailfilename);
>
> - in the "noarchive" branch. The list is "noarchive".
>
> I also wonder why, when rename() fails, the if(!ctrlarchive) { branch
> does not unlink the mailfilename, whereas with noarchive it is
> unlinked.
Because rename() isn't just being used to rename. It's also being used
to check for the existence of the directory. If it fails, the idea is
that nothing was requeued, and since we're not archiving, we don't need
the file. It's not an error but a "we don't need this" condition. It
should have something more like this:
len = strlen(listdir) + 9 + 20 + 9;
requeuefilename = mymalloc(len);
snprintf(requeuefilename, len, "%s/requeue/%d",
listdir, mindex);
if(stat(requeuefilename, &st) < 0) {
/* Nothing was requeued and we don't keep
* mail for a noarchive list. */
unlink(mailfilename);
} else {
snprintf(requeuefilename, len,
"%s/requeue/%d/mailfile",
listdir, mindex);
if (rename(mailfilename, requeuefilename) < 0) {
log_error(LOG_ARGS,
"Could not rename(%s,%s);",
mailfilename,
requeuefilename);
}
}
myfree(requeuefilename);
I've given it only a quick and superficial test, but it seems to work,
and it can't fail much worse for you than it already is anyway, so if
you're in a position to compile a patched mlmmj yourself, please do give
it a shot!
Ben.
next prev parent reply other threads:[~2010-11-11 12:33 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-09 10:17 [mlmmj] Mail delivery issues and requeue Martin Koch Andersen
2010-11-09 10:34 ` [mlmmj] " Martin Koch Andersen
2010-11-09 10:59 ` Martin Koch Andersen
2010-11-09 13:01 ` Ben Schmidt
2010-11-10 9:46 ` Martin Koch Andersen
2010-11-11 0:36 ` Ben Schmidt
2010-11-11 0:41 ` Ben Schmidt
2010-11-11 10:06 ` Martin Koch Andersen
2010-11-11 12:33 ` Ben Schmidt [this message]
2010-11-11 13:05 ` Martin Koch Andersen
2010-11-11 16:07 ` Ben Schmidt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4CDBE29F.9090304@yahoo.com.au \
--to=mail_ben_schmidt@yahoo.com.au \
--cc=mlmmj@mlmmj.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox