Sendmail on a LAN - SOLVED

Kevin J. Cummings cummings at kjchome.homeip.net
Thu Aug 19 02:21:49 UTC 2010



On 08/18/2010 09:08 PM, JD wrote:
>   On 08/18/2010 04:20 PM, Patrick O'Callaghan wrote:
>> On Wed, 2010-08-18 at 15:52 -0700, JD wrote:
>>> Thanks to all who made important suggestions.
>>> It now works.
>> Adding SOLVED to the Subject kind of implies that you'll explain *how*
>> it was solved. That's the point.
>>
>> poc
>>
> Well, it was not just one thing, but of all the tweaks I had to do,
> only one turned out to be cruicial:
> I had to comment out one line in sendmail.mc:
> 
> cd /etc/mail
> 
> edit sendmail.mc
> 
> DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
> 
> i.e. add dnl to the start of the line, and that comments it out:
> 
> dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

You did read the comment just before this line, right?

> dnl #
> dnl # The following causes sendmail to only listen on the IPv4 loopback address
> dnl # 127.0.0.1 and not on any other network devices. Remove the loopback
> dnl # address restriction to accept email from the internet or intranet.
> dnl #
> DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

The result is that if you were running sendmail with this in place, even
if your router *was* sending you packets to port 25, sendmail wouldn't
be listening for them on any device other than the loopback.

You must have some other DAEMONS_OPTIONS line uncommented in order for
it to listen to some port somewhere....

For years, RedHat has shipped sendmail with this line in place, and for
years, I have gone in and edited it to remove the "Addr=127.0.0.1"
portion so I could receive email from the Internet.

> The minor changes are the common sense things that most mail admins know:
> 
> In sendmail.mc:
> 
> MASQUERADE_AS(`the.domain.name.that.resolves.to.your.router's.public.ip.address')dnl
> 
> You obtain one of these for free from dyndns.com
> 
> Uncomment the line
> 
> FEATURE(masquerade_envelope)dnl  (i.e. remove the leading # sign and 
> leading dnl)
> 
> Uncomment the line
> 
> FEATURE(masquerade_entire_domain)dnl

I also have a dynamic IP address (mine's from RCN, not AT&T though) and
I do not need to masquerade anything in order for sendmail to receive
email properly.  But, I *do* have dyndns publish MX records for my
domains so that other mailers know where to send the emails to.

But, because RCN blocks port 25 *outgoing*, I have to send my email out
though RCN's email server using:

define(`SMART_HOST',`[smtp.mail.rcn.net]')

Other than that, sendmail works as shipped.  I have added a few milters
to my configuration, and recently picked up an IPv6 address from
tunnelbroker.net, and proved that I can receive email via the IPv6
tunnel as well by adding an MTA-6 listener.

> Then
> 
> ./make
> 
> service sendmail restart
> 
> There are other files that need administration, but that is out of the 
> scope of this.

-- 
Kevin J. Cummings
kjchome at rcn.com
cummings at kjchome.homeip.net
cummings at kjc386.framingham.ma.us
Registered Linux User #1232 (http://counter.li.org)


More information about the users mailing list