Newbie Question: Mail from from cron jobs...

Ian Lord mailing-lists at msdi.ca
Wed May 16 16:47:17 UTC 2007


Thanks a lot, it works perfectly.

I'm starting to think it was not that much of a newbie question since you
are the first one to give a working answer :)

Thanks again

-----Original Message-----
From: Giorgos Keramidas [mailto:keramida at ceid.upatras.gr] 
Sent: 16 mai 2007 12:22
To: Ian Lord
Cc: 'Oliver Peter'; 'Jerry McAllister'; freebsd-questions at freebsd.org
Subject: Re: Newbie Question: Mail from from cron jobs...

On 2007-05-16 03:21, Ian Lord <mailing-lists at msdi.ca> wrote:
> -----Original Message-----
> From: Oliver Peter [mailto:hoschi at mouhaha.de] 
> Sent: 16 mai 2007 03:18
> To: Jerry McAllister
> Cc: Oliver Peter; Ian Lord; freebsd-questions at freebsd.org
> Subject: Re: Newbie Question: Mail from from cron jobs...
> 
> > Look in the file /etc/mail/aliases
> > > 
> > > You can alias root to go to your favorite address.
> > > Don't forget to run   newaliases(1)   after editing the file.
> > > 
> > > Of course, doing this will mean that all mail to root will
> > > go to you.   
> > 
> > Hhm. I thought the problem was that you would like to change the From:
> > of those e-mails not the To: ?
> 
> Exactly... I receive the emails since I correctly configured my aliases to
> redirect all mails externally...
> 
> The problem I have is with the from...
> 
> Someone told me to change the hostname in rc.conf, that won't work since I
> have 4 machines:
> 
> 	Machine1.mydomain.com
> 	Machine2.mydomain.com
> 	Machine3.mydomain.com
> 	Machine4.mydomain.com
> 
> I want the mail from to be 
> root at mydomain.com not root at localhost.mydomain.com

You have to enable 'masquerading' and (optionally) `genericstable' for
this sort of email address rewriting to work.

Here's a commented/example sendmail.mc snippet for that:

    dnl Address masquerading.
    dnl
    dnl Making sure that all email that passes through my desktop's
    dnl Sendmail installation is masqueraded as coming from
    dnl `kobe.laptop', even if its original address is something
    dnl slightly different (i.e. `ftp.laptop' or `mail.laptop'), is ok
    dnl here.  It ensures that address rewriting and translation through
    dnl `genericstable' will also work for all `*.laptop' host names.
    dnl
    dnl To make sure that remote hosts don't get a MAIL FROM address
    dnl from a hostname that doesn't resolve, envelope addresses are
    dnl masqueraded here too, and then get rewritten by `genericstable'
    dnl to real-world addresses.
    dnl
    MASQUERADE_AS(`kobe.laptop')
    FEATURE(`masquerade_entire_domain')
    FEATURE(`masquerade_envelope')
    
    dnl Rewriting the envelope-from address of all outgoing messages
    dnl through a `genericstable' lookup ensures that envelope-from
    dnl addresses seen by relay hosts are real, i.e. have an address
    dnl of `keramida at ceid.upatras.gr' instead of the default
    dnl envelope-from of `keramida at kobe.laptop' that Sendmail would use.
    dnl
    dnl This is required some times, to avoid getting bounces for
    dnl messages from ISP mail relays that are misconfigured or are too
    dnl strict about what can appear in a MAIL FROM command.
    dnl
    FEATURE(`genericstable', `hash -o /etc/mail/genericstable')
    GENERICS_DOMAIN(`kobe.laptop')
    FEATURE(`generics_entire_domain')

Here `kobe.laptop' is my laptop's hostname, and I have enabled address
rewriting for some local email addresses by:

    % cat /etc/mail/genericstable
    #
    # Address rewriting of outgoing email messages.
    #

    keramida at localhost         keramida at ceid.upatras.gr
    keramida at localhost.laptop  keramida at ceid.upatras.gr
    keramida at kobe              keramida at ceid.upatras.gr
    keramida at kobe.laptop       keramida at ceid.upatras.gr

    root at localhost             keramida at ceid.upatras.gr
    root at localhost.laptop      keramida at ceid.upatras.gr
    root at kobe                  keramida at ceid.upatras.gr
    root at kobe.laptop           keramida at ceid.upatras.gr
    %

You will have to use a similar setup to change the envelope-from and
header-from address of the outgoing messages your mail server sends.

- Giorgos



More information about the freebsd-questions mailing list