corecode / dma

The DragonFly Mail Agent, a small Mail Transport Agent (MTA), designed for home and office use.
Other
231 stars 50 forks source link

mailname same as recipient hostname fails #60

Open reedjc opened 5 years ago

reedjc commented 5 years ago

My mailname as set to same as the recipient hostname.

mail(1) using dma complained like: send-mail: no recipients Can't send mail: sendmail process failed with error code 66

dma logged Nov 17 18:26:37 work dma[4a11a1]: no recipients

See add_recp() in dma.c:

192         host = strrchr(it->addr, '@');
193         if (host != NULL &&
194             (strcmp(host + 1, hostname()) == 0 ||
195              strcmp(host + 1, "localhost") == 0)) {
196                 *host = 0;
197         }

So this undocumented (?) behavior hides the hostname (in it->addr).

My trivial workaround is to mix up the case of my mailname (since the above strcmp is case sensitive).

Please document this behavior or please consider removing it or having it optional.

Also while there, two different conditions can log "no recipients". Please change one so don't have potential for identical logging.

corecode commented 5 years ago

what do you mean by mailname?

reedjc commented 5 years ago

MAILNAME which is config.mailname set to a path and that file's value returned via util.c's hostname().

By the way, I was looking at master branch, but I am running DragonFly Mail Agent v0.11 from Ubuntu package dma 0.11-1build1.

corecode commented 5 years ago

how come it doesn't log invalid recipient?