LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Server (http://www.linuxquestions.org/questions/linux-server-73/)
-   -   force sendmail to route ALL mail to another host (http://www.linuxquestions.org/questions/linux-server-73/force-sendmail-to-route-all-mail-to-another-host-886311/)

CNBarnes 06-14-2011 01:39 PM

force sendmail to route ALL mail to another host
 
It has been years since I had to mess with sendmail (I prefer using postfix) - but I inherited a server that someone else configured. This machine is a webserver - but is running sendmail for the various webforms, etc.

I want to configure sendmail on this machine to route ALL outgoing messages to the main email server. This means local users too....

I have read through sendmail configurations for the past 3 hours, but it's mostly greek. Here is my current sendmail.mc file - could some kind soul please tell me what I need to change (and WHERE)?

Code:

divert(-1)dnl
#-----------------------------------------------------------------------------
# $Sendmail: debproto.mc,v 8.14.3 2010-01-29 14:02:50 cowboy Exp $
#
# Copyright (c) 1998-2008 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.14.3
#
# 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:
#      * make  (or make -C /etc/mail)
#      * sendmailconfig
#      * 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.14.3-5+lenny1 2010-01-29 14:02:50 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
dnl #
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, Addr=127.0.0.1')dnl
dnl DAEMON_OPTIONS(`Family=inet6, Name=MSP-v6, Port=submission, M=Ea, Addr=::1')dnl
DAEMON_OPTIONS(`Family=inet,  Name=MSP-v4, Port=submission, M=Ea, Addr=127.0.0.1')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(`confCONNECTION_RATE_WINDOW_SIZE',`10m')dnl
dnl #
dnl # Features
dnl #
dnl # use /etc/mail/local-host-names
FEATURE(`use_cw_file')dnl
dnl #
dnl # The access db is the basis for most of sendmail's checking
FEATURE(`access_db', , `skip')dnl
dnl #
dnl # The greet_pause feature stops some automail bots - but check the
dnl # provided access db for details on excluding localhosts...
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 # Dialup/LAN connection overrides
dnl #
include(`/etc/mail/m4/dialup.m4')dnl
include(`/etc/mail/m4/provider.m4')dnl
dnl #
dnl # Default Mailer setup
MAILER_DEFINITIONS
MAILER(`local')dnl
MAILER(`smtp')dnl

dnl # Masquerading options
FEATURE(`always_add_domain')dnl
MASQUERADE_AS(`www.physics.tamu.edu')dnl
FEATURE(`allmasquerade')dnl
FEATURE(`masquerade_envelope')dnl


Andy Alkaline 07-07-2011 04:38 PM

I couldn't answer, but you might try webmin

http://www.webmin.com/
Quote:

Webmin is a web-based interface for system administration for Unix. Using any modern web browser, you can setup user accounts, Apache, DNS, file sharing and much more. Webmin removes the need to manually edit Unix configuration files like /etc/passwd, and lets you manage a system from the console or remotely. See the standard modules page for a list of all the functions built into Webmin, or check out the screenshots.

TB0ne 07-07-2011 05:18 PM

Quote:

Originally Posted by CNBarnes (Post 4385526)
It has been years since I had to mess with sendmail (I prefer using postfix) - but I inherited a server that someone else configured. This machine is a webserver - but is running sendmail for the various webforms, etc.

I want to configure sendmail on this machine to route ALL outgoing messages to the main email server. This means local users too.... I have read through sendmail configurations for the past 3 hours, but it's mostly greek. Here is my current sendmail.mc file - could some kind soul please tell me what I need to change (and WHERE)?

Sendmail (and mail servers in general), can be daunting. But once you identify the feature, the rest is fairly easy to look up. In this case, you want to define a smart host.

Open your configuration file, and append or modify the macro as follows
Code:

define(`SMART_HOST',`my.mailhost.com')

(Replace my.mailhost.com with your actual server name/IP address, obviously).

If line is already there, and contains dnl, remove it. Regenerate a new sendmail.cf config file with the m4 command, "m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf". Restart sendmail, and all your mail should start getting shoveled along to a new mailhost further upstream.

One word of warning, though. I've seen instances where other, internal mail servers will reject anything without a certain domain name, for security/anti-spamming reasons. So even though your internal server may be "webserver.mycompany.com", your mail may go through as being from "joeuser@webserver.mycompany.com"...instead of just "joeuser@mycompany.com". If that happens, you can easily rewrite the sending domain automatically. Just in case you run into an issue with the other mail server, that's the first place I'd look...your mail server logs will have rejection notices, and your other mail server will also log WHY it was rejected.


All times are GMT -5. The time now is 03:23 PM.