sendmail returns 550 User unknown instead of forwarding via mailertable
Linux - NetworkingThis forum is for any issue related to networks or networking.
Routing, network cards, OSI, etc. Anything is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
sendmail returns 550 User unknown instead of forwarding via mailertable
I'm using Linux as a front-end to an Exchange server. Had been running an older sendmail under Slackware for years. Last week, the old Hard drive finally gave out.
So, I've got a new Ubuntu Breezy Badger (5.10) running to replace it. I installed sendmail and edited the sendmail.mc to include all the things I believe I used to have in the old system and tried it but it refuses to forward mail to the exchange server for valid entries in the virtusertable.
Box is named mortis.frieltek.com and is the 10 MX in DNS for frieltek.com and cvmusclecars.com.
Notes about the files: if I remove frieltek.com from the local-host-names, then the virtusertable seems to be ignored and it just does a "relay denied" for all inbound messages. If I put "frieltek.com" in the local-host-names, then it correctly goes through the virtusertable and bounces unknown entries with the Spam message. But for those that do match, it is trying to deliver them locally on the box and is ignoring the mailertable. In the .mc file, I have defined FEATURE(`mailertable') so I'm stumped.
HELP!
My virtusertable looks like this:
------
Code:
john@frieltek.com !
bill@frieltek.com !
sysop@cvmusclecars.com !
@frieltek.com error:nouser 550 Spammer go home.
@cvmusclecars.com error:nouser 550 Spammer go home.
My local-host-names
------
localhost
frieltek.com
cvmusclecars.com
mortis.frieltek.com
My sendmail.mc
------
Code:
divert(-1)dnl
#-----------------------------------------------------------------------------
# $Sendmail: debproto.mc,v 8.13.4 2006-03-23 13:42:01 cowboy Exp $
#
# Copyright (c) 1998-2005 Richard Nelson. All Rights Reserved.
#
# cf/debian/sendmail.mc. Generated from sendmail.mc.in by configure.
#
# sendmail.mc prototype config file for building Sendmail 8.13.4
#
# Note: the .in file supports 8.7.6 - 9.0.0, but the generated
# file is customized to the version noted above.
#
# This file is used to configure Sendmail for use with Debian systems.
#
# If you modify this file, you will have to regenerate /etc/mail/sendmail.cf
# by running this file through the m4 preprocessor via one of the following:
# * `sendmailconfig`
# * `make`
# * `m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf`
# The first two options are preferred as they will also update other files
# that depend upon the contents of this file.
#
# The best documentation for this .mc file is:
# /usr/share/doc/sendmail-doc/cf.README.gz
#
#-----------------------------------------------------------------------------
divert(0)dnl
#
# Copyright (c) 1998-2005 Richard Nelson. All Rights Reserved.
#
# This file is used to configure Sendmail for use with Debian systems.
#
define(`_USE_ETC_MAIL_')dnl
include(`/usr/share/sendmail/cf/m4/cf.m4')dnl
VERSIONID(`$Id: sendmail.mc, v 8.13.4-3ubuntu0.1 2006-03-23 13:42:01 cowboy Exp $')
OSTYPE(`debian')dnl
DOMAIN(`debian-mta')dnl
dnl # Items controlled by /etc/mail/sendmail.conf - DO NOT TOUCH HERE
undefine(`confHOST_STATUS_DIRECTORY')dnl #DAEMON_HOSTSTATS=
dnl # Items controlled by /etc/mail/sendmail.conf - DO NOT TOUCH HERE
dnl #
dnl # General defines
dnl #
dnl # SAFE_FILE_ENV: [undefined] If set, sendmail will do a chroot()
dnl # into this directory before writing files.
dnl # If *all* your user accounts are under /home then use that
dnl # instead - it will prevent any writes outside of /home !
dnl # define(`confSAFE_FILE_ENV', `')dnl
dnl #
dnl # Daemon options - restrict to servicing LOCALHOST ONLY !!!
dnl # Remove `, Addr=' clauses to receive from any interface
dnl # If you want to support IPv6, switch the commented/uncommentd lines
FEATURE(`no_default_msa')dnl
dnl DAEMON_OPTIONS(`Family=inet6, Name=MTA-v6, Port=smtp, Addr=::1')dnl
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp')dnl
dnl DAEMON_OPTIONS(`Family=inet6, Name=MSP-v6, Port=submission, Addr=::1')dnl
DAEMON_OPTIONS(`Family=inet, Name=MSP-v4, Port=submission')dnl
dnl #
dnl # Be somewhat anal in what we allow
define(`confPRIVACY_FLAGS',dnl
`needmailhelo,needexpnhelo,needvrfyhelo,restrictqrun,restrictexpand,nobodyreturn,authwarnings')dnl
dnl #
dnl # Define connection throttling and window length
define(`confCONNECTION_RATE_THROTTLE', `15')dnl
define(`confMAX_DAEMON_CHILDREN', `100')dnl
define(`confCONNECTION_RATE_WINDOW_SIZE',`10m')dnl
dnl #
dnl # Features
dnl #
FEATURE(`dnsbl', `relays.ordb.org', `Spammer $&{client_addr} $&f rejected by RBL: http://ordb.org/ (relays)')dnl
FEATURE(`dnsbl', `bl.spamcop.net', `Spammer $&{client_addr} $&f rejected by RBL: http://bl.spamcop.net')dnl
FEATURE(`dnsbl', `dnsbl.njabl.org', `Spammer $&{client_addr} $&f rejected by RBL: http://dnsbl.njabl.org')dnl
FEATURE(`dnsbl', `cn-kr.blackholes.us', `Spammer $&{client_addr} $&f rejected by RBL: http://cn-kr.blackholes.us')dnl
FEATURE(`dnsbl', `nigeria.blackholes.us', `Spammer $&{client_addr} $&f rejected by RBL: http://nigeria.blackholes.us')dnl
FEATURE(`dnsbl', `interbusiness.blackholes.us', `Spammer $&{client_addr} $&f rejected by RBL: http://interbusiness.blackholes.$
dnl #
FEATURE(use_cw_file)dnl
FEATURE(`mailertable')dnl
FEATURE(`virtusertable')dnl
dnl # The access db is the basis for most of sendmail's checking
FEATURE(`access_db', , `skip')dnl
dnl #
dnl #
dnl #
dnl # The greet_pause feature stops some automail bots - but check the
dnl # provided access db for details on excluding localhosts...
dnl # FEATURE(`greet_pause', `1000')dnl 1 seconds
dnl #
dnl # Delay_checks allows sender<->recipient checking
FEATURE(`delay_checks', `friend', `n')dnl
dnl #
dnl # If we get too many bad recipients, slow things down...
define(`confBAD_RCPT_THROTTLE',`3')dnl
dnl #
dnl # Stop connections that overflow our concurrent and time connection rates
FEATURE(`conncontrol', `nodelay', `terminate')dnl
FEATURE(`ratecontrol', `nodelay', `terminate')dnl
dnl #
dnl # If you're on a dialup link, you should enable this - so sendmail
dnl # will not bring up the link (it will queue mail for later)
dnl define(`confCON_EXPENSIVE',`True')dnl
dnl #
dnl # Default Mailer setup
MAILER_DEFINITIONS
dnl # MAILER(`local')dnl
MAILER(`smtp')dnl
Ok, I figured it out and will share what I needed to change.
Premise: Run a Linux Sendmail box as a front-end to an Exchange 5.5 Server behind the firewall. The Sendmail config should filter valid email accounts via the Virtusertable and bounce all non-valid entries with an error:nouser 550 message with a catchall. Further, RBL lists should be employed to further reduce the amount of spam entering the system. All messages that pass these requirements should be forwarded to the exchange server.
The solution was to use the "define(`mail_hub', `exchange server name') and the use of StickyHost.
Here is the modified sendmail.mc:
Code:
define(`_USE_ETC_MAIL_')dnl
include(`/usr/share/sendmail/cf/m4/cf.m4')dnl
VERSIONID(`$Id: sendmail.mc, v 8.13.4-3ubuntu0.1 2006-03-23 13:42:01 cowboy Exp $')
OSTYPE(`debian')dnl
DOMAIN(`debian-mta')dnl
dnl # Items controlled by /etc/mail/sendmail.conf - DO NOT TOUCH HERE
undefine(`confHOST_STATUS_DIRECTORY')dnl #DAEMON_HOSTSTATS=
dnl # Items controlled by /etc/mail/sendmail.conf - DO NOT TOUCH HERE
FEATURE(`no_default_msa')dnl
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp')dnl
DAEMON_OPTIONS(`Family=inet, Name=MSP-v4, Port=submission')dnl
define(`confPRIVACY_FLAGS',dnl
`needmailhelo,needexpnhelo,needvrfyhelo,restrictqrun,restrictexpand,nobodyreturn,authwarnings')dnl
dnl # Define connection throttling and window length
define(`confCONNECTION_RATE_THROTTLE', `15')dnl
define(`confMAX_DAEMON_CHILDREN', `100')dnl
define(`confCONNECTION_RATE_WINDOW_SIZE',`10m')dnl
define(`MAIL_HUB', `alpha.frieltek.com')dnl
FEATURE(`stickyhost')dnl
dnl # Features
FEATURE(`dnsbl', `relays.ordb.org', `Spammer $&{client_addr} $&f rejected by RBL: http://ordb.org/ (relays)')dnl
FEATURE(`dnsbl', `bl.spamcop.net', `Spammer $&{client_addr} $&f rejected by RBL: http://bl.spamcop.net')dnl
FEATURE(`dnsbl', `dnsbl.njabl.org', `Spammer $&{client_addr} $&f rejected by RBL: http://dnsbl.njabl.org')dnl
FEATURE(use_cw_file)dnl
FEATURE(`mailertable')dnl
FEATURE(`virtusertable')dnl
FEATURE(`access_db', , `skip')dnl
MAILER_DEFINITIONS
MAILER(`smtp')dnl
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.