Anand Buddhdev wrote:
Classic mistake. You're running a shell script from your dot-courier
file, and you're using the SENDER environment variable without
quoting it. When you get a rogue email message with a quote in the
sender address, the shell sees the lone quote in the sender address,
and gets confused because there's no matching end quote. Make sure
you sorround the SENDER variable with quotes, for example:
"$SENDER" instead of just $SENDER
No .courier in use, only .mailfilter for moving messages into the
proper folders.
But the error message is clearly from a shell. Does your .mailfilter
contain any instructions which call an external program? It would help
if you can post your .mailfilter too.
The only thing I have in my shell that uses variables is amavis. Here is
the amavis section
# Virus Scan
#
import SENDER
import RECIPIENT
if ($SENDER ne "")
{
FROM=escape($SENDER)
}
else
{
FROM="unkn...@jg555.com"
}
if ($RECIPIENT ne "")
{
TO=escape($RECIPIENT)
}
else
{
TO="unkn...@jg555.com"
}
xfilter "/usr/sbin/amavis debug $SENDER $RECIPIENT"