Link to home
Start Free TrialLog in
Avatar of r_b
r_b

asked on

How to change localhost.localdomain sending mail from sendmail to other?

Hello,

I have a problem. I have installed apache and bugzilla on my redhat9 server.
When bugzilla sends an email or i send an email from terminal (e.g. sendmail my friend@good.com )
from the /var/log/maillog i see that ctladdr = <apache@localhost.localdomain> or <root@localhost.localdomain> . And reveiver does not get my email because my internet provider recognize those senders as a spamer.
My wish is to chenge localhost.localdomain to e.g.  good.com  or some other.

how to configure sendmail ???

thanks in advance
Raimondas
Avatar of pokui
pokui

I don't really use Redhat, but you may want to put your domain name in /etc/hostname and /etc/hosts (or use your favourite tool to do this) so that subsequent programs that may run gethostbyname() can get the proper entry.

To change the settings in sendmail, then you need to change your sendmail.cf (usually in /etc or /etc/mail). Look for the lines that start thusly...


# my official domain name
# ... define this only if sendmail cannot automatically determine your domain
#Dj$w.Foo.COM


and edit to your heart's delight (uncomment the Dj$w.Foo.COM and change Foo.COM to good.org - or whatever.

HTH.
Hey Raimondas,

In your sendmail.cf (usually /etc/mail/sendmail.cf) put in or uncomment the "Dj" line.

So to get sendmail to use "good.com" put the line:

Djgood.com into your sendmail config.

If you want sendmail to be able to receive mail from that domain, put it in the /etc/mail/local-host-names file, or what ever file your sendmail.cf uses to find local-host-names.

Note:
A lot of mail servers will block the mail if you do not have a reverse DNS lookup for your FQDN(Fully Qualified Domain Name) of the mail server.

Regards,
Peter
Avatar of r_b

ASKER

Thank you for your reply,

I have changed to Djgood.com, but when i send using
sendmail some@mail.com   in the log  i see the same root@localhost.localdomain
Do i need to do some steps? I have restarted sendmail services.

thanks
Try adding your ISPS mailserver  to your sendmail.cf

DSmymail.isp.com
Oh yeah,

Also make sure the domain name is set in apache.

Bugzilla might send email as the domain name for the web server.

So in your httpd.conf set
ServerName good.com

Also check your bugzilla config file, "localconfig" I think.

Regards,
Peter
Avatar of r_b

ASKER

In bugzilla localconfig is only db_host parameter which is used for locating some sql(e.g. MySql) database.  In the httpd.conf i have set ServerName parameter to good.com:80.  And in the sendmail.cf i have uncommented Dj parameter and have set it to Djgood.com. I have restarted all services and it does not work. In my mailog i see again that ctladdr=<root@localhost.localdomain>
What i did wrong?

thanks
Raimondas
Try this in your sendmail.conf


DMgood.com

and restart sendmail

This sets the domain you masquerade as

Good luck
There are two possible causes of difficulty here. External mail servers may reject your mail because the professed system name is localhost.localdomain, and that's fixable by editing /etc/sysconfig/network and setting:

HOSTNAME=real.dom.tld

and then editing /etc/hosts so that it reads

127.0.0.1   real.dom.tld real localhost.localdomain localhost

The second part of the fix is to edit /etc/mail/sendmail.mc to include:

MASQUERADE_AS(`dom.tld')dnl
FEATURE(masquerade_envelope)dnl
FEATURE(masquerade_entire_domain)dnl

Then reboot.
Avatar of r_b

ASKER

One more question. It seems that your solution Jlevie works fine. But there is one problem. From your example i thought that using MASQUERADE_AS(`dom.tld')dnl  the sender's mail will be like user@dom.tld but in ma case i get user@real.dom.tld.  How to fix it? Or what am i doing wrong?

thanks!!!
What does that line in sendmail.mc contain?
Avatar of r_b

ASKER

Sorry for the full source, maybe You will see some other nonsenses:

####################START of sendmail.mc########################
divert(-1)dnl
dnl #
dnl # This is the sendmail macro config file for m4. If you make changes to
dnl # /etc/mail/sendmail.mc, you will need to regenerate the
dnl # /etc/mail/sendmail.cf file by confirming that the sendmail-cf package is
dnl # installed and then performing a
dnl #
dnl #     make -C /etc/mail
dnl #
include(`/usr/share/sendmail-cf/m4/cf.m4')dnl
VERSIONID(`setup for Red Hat Linux')dnl
OSTYPE(`linux')dnl
dnl #
dnl # Uncomment and edit the following line if your outgoing mail needs to
dnl # be sent out through an external mail server:
dnl #
dnl define(`SMART_HOST',`mail.vb.lt')
dnl FEATURE(relay_entire_domin')
dnl #
define(`confDEF_USER_ID',``8:12'')dnl
define(`confTRUSTED_USER', `smmsp')dnl
dnl define(`confAUTO_REBUILD')dnl
define(`confTO_CONNECT', `1m')dnl
define(`confTRY_NULL_MX_LIST',true)dnl
define(`confDONT_PROBE_INTERFACES',true)dnl
define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl
define(`ALIAS_FILE', `/etc/aliases')dnl
dnl define(`STATUS_FILE', `/etc/mail/statistics')dnl
define(`UUCP_MAILER_MAX', `2000000')dnl
define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl
define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
define(`confAUTH_OPTIONS', `A')dnl
dnl #
dnl # The following allows relaying if the user authenticates, and disallows
dnl # plaintext authentication (PLAIN/LOGIN) on non-TLS links
dnl #
dnl define(`confAUTH_OPTIONS', `A p')dnl
dnl #
dnl # PLAIN is the preferred plaintext authentication method and used by
dnl # Mozilla Mail and Evolution, though Outlook Express and other MUAs do
dnl # use LOGIN. Other mechanisms should be used if the connection is not
dnl # guaranteed secure.
dnl #
dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl #
dnl # Rudimentary information on creating certificates for sendmail TLS:
dnl #     make -C /usr/share/ssl/certs usage
dnl #
dnl define(`confCACERT_PATH',`/usr/share/ssl/certs')
dnl define(`confCACERT',`/usr/share/ssl/certs/ca-bundle.crt')
dnl define(`confSERVER_CERT',`/usr/share/ssl/certs/sendmail.pem')
dnl define(`confSERVER_KEY',`/usr/share/ssl/certs/sendmail.pem')
dnl #
dnl # This allows sendmail to use a keyfile that is shared with OpenLDAP's
dnl # slapd, which requires the file to be readble by group ldap
dnl #
dnl define(`confDONT_BLAME_SENDMAIL',`groupreadablekeyfile')dnl
dnl #
dnl define(`confTO_QUEUEWARN', `4h')dnl
dnl define(`confTO_QUEUERETURN', `5d')dnl
dnl define(`confQUEUE_LA', `12')dnl
dnl define(`confREFUSE_LA', `18')dnl
define(`confTO_IDENT', `0')dnl
dnl FEATURE(delay_checks)dnl
FEATURE(`no_default_msa',`dnl')dnl
FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl
FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl
FEATURE(redirect)dnl
FEATURE(always_add_domain)dnl
FEATURE(use_cw_file)dnl
FEATURE(use_ct_file)dnl
dnl #
dnl # The -t option will retry delivery if e.g. the user runs over his quota.
dnl #
FEATURE(local_procmail,`',`procmail -t -Y -a $h -d $u')dnl
FEATURE(`access_db',`hash -T<TMPF> -o /etc/mail/access.db')dnl
FEATURE(`blacklist_recipients')dnl
EXPOSED_USER(`root')dnl
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 #
dnl #
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
dnl #
dnl # The following causes sendmail to additionally listen to port 587 for
dnl # mail from MUAs that authenticate. Roaming users who can't reach their
dnl # preferred sendmail daemon due to port 25 being blocked or redirected find
dnl # this useful.
dnl #
dnl DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl
dnl #
dnl # The following causes sendmail to additionally listen to port 465, but
dnl # starting immediately in TLS mode upon connecting. Port 25 or 587 followed
dnl # by STARTTLS is preferred, but roaming clients using Outlook Express can't
dnl # do STARTTLS on ports other than 25. Mozilla Mail can ONLY use STARTTLS
dnl # and doesn't support the deprecated smtps; Evolution <1.1.1 uses smtps
dnl # when SSL is enabled-- STARTTLS support is available in version 1.1.1.
dnl #
dnl # For this to work your OpenSSL certificates must be configured.
dnl #
dnl DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl
dnl #
dnl # The following causes sendmail to additionally listen on the IPv6 loopback
dnl # device. Remove the loopback address restriction listen to the network.
dnl #
dnl # NOTE: binding both IPv4 and IPv6 daemon to the same port requires
dnl #       a kernel patch
dnl #
dnl DAEMON_OPTIONS(`port=smtp,Addr=::1, Name=MTA-v6, Family=inet6')dnl
dnl #
dnl # We strongly recommend not accepting unresolvable domains if you want to
dnl # protect yourself from spam. However, the laptop and users on computers
dnl # that do not have 24x7 DNS do need this.
dnl #
FEATURE(`accept_unresolvable_domains')dnl
dnl #
dnl FEATURE(`relay_based_on_MX')dnl
dnl #
dnl # Also accept email sent to "localhost.localdomain" as local email.
dnl #
LOCAL_DOMAIN(`localhost')dnl
dnl #
dnl # The following example makes mail from this host and any additional
dnl # specified domains appear to be sent from mydomain.com
dnl #
dnl MASQUERADE_AS(`vb.lt')dnl
dnl #
dnl # masquerade not just the headers, but the envelope as well
dnl #
dnl FEATURE(masquerade_envelope)dnl
dnl #
dnl # masquerade not just @mydomainalias.com, but @*.mydomainalias.com as well
dnl #
dnl FEATURE(masquerade_entire_domain)dnl
dnl #
dnl #MASQUERADE_DOMAIN(localhost)dnl
dnl #MASQUERADE_DOMAIN(localhost.localdomain)dnl
MAILER(smtp)dnl
MAILER(procmail)dnl
######################END of sendmail.mc######################
You can try changing 2 files

/etc/hosts and /etc/sysconfig/network

should be v simple.

Manish Shah.

Avatar of r_b

ASKER

I don't think this is simple. From the sendmail.mc above you can see that my mail server is mail.vb.lt
and if i change hosts and network to vb.lt, the problem will gone. But my sendmail program do not  send mail through mail.vb.lt, it will write me those things(in this log there is no mail.vb.lt server):

Oct 19 07:37:32 localhost sendmail[3874]: i9J5bTeq003874: from=root, size=6, class=0, nrcpts=1, msgid=<200410190537.i9J5bTeq003874@vb.lt>, relay=root@localhost
Oct 19 07:37:32 localhost sendmail[3876]: i9J5bWwc003876: <raimondas@vb.lt>... User unknown
Oct 19 07:37:32 localhost sendmail[3874]: i9J5bTeq003874: to=raimondas@vb.lt, ctladdr=root (0/0), delay=00:00:03, xdelay=00:00:00, mailer=relay, pri=30006, relay=[127.0.0.1] [127.0.0.1], dsn=5.1.1, stat=User unknown
Oct 19 07:37:32 localhost sendmail[3876]: i9J5bWwc003876: from=<root@vb.lt>, size=6, class=0, nrcpts=0, proto=ESMTP, daemon=MTA, relay=vb.lt [127.0.0.1]
Oct 19 07:37:32 localhost sendmail[3874]: i9J5bTeq003874: i9J5bTer003874: DSN: User unknown
Oct 19 07:37:32 localhost sendmail[3876]: i9J5bWwe003876: from=<>, size=1780, class=0, nrcpts=1, msgid=<200410190537.i9J5bTer003874@vb.lt>, proto=ESMTP, daemon=MTA, relay=vb.lt [127.0.0.1]
Oct 19 07:37:32 localhost sendmail[3874]: i9J5bTer003874: to=root, delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=31030, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (i9J5bWwe003876 Message accepted for delivery)
Oct 19 07:37:32 localhost sendmail[3877]: i9J5bWwe003876: to=raimondas@vb.lt\t, ctladdr=<root@vb.lt> (8/0), delay=00:00:00, mailer=local, pri=120491, dsn=5.1.1, stat=User unknown
Oct 19 07:37:33 localhost sendmail[3877]: i9J5bWwe003876: to=raimondas@vb.lt\t, ctladdr=root (8/0), delay=00:00:01, mailer=local, pri=31934, dsn=5.1.1, stat=User unknown
Oct 19 07:37:33 localhost sendmail[3877]: i9J5bWwe003876: i9J5bXwc003877: postmaster notify: User unknown
Oct 19 07:37:33 localhost sendmail[3877]: i9J5bXwc003877: to=raimondas@vb.lt\t, ctladdr=root (8/0), delay=00:00:00, mailer=local, pri=2958, dsn=5.1.1, stat=User unknown
Oct 19 07:37:33 localhost sendmail[3877]: i9J5bXwc003877: to=raimondas@vb.lt\t, ctladdr=root (8/0), delay=00:00:00, mailer=local, pri=2958, dsn=5.1.1, stat=User unknown
Oct 19 07:37:33 localhost sendmail[3877]: i9J5bXwc003877: i9J5bXwd003877: return to sender: User unknown
Oct 19 07:37:33 localhost sendmail[3877]: i9J5bXwd003877: to=raimondas@vb.lt\t, ctladdr=root (8/0), delay=00:00:00, mailer=local, pri=3982, dsn=5.1.1, stat=User unknown
Oct 19 07:37:33 localhost sendmail[3877]: i9J5bXwc003877: Losing ./qfi9J5bXwc003877: savemail panic
Oct 19 07:37:33 localhost sendmail[3877]: i9J5bXwc003877: SYSERR(root): savemail: cannot save rejected email anywhere
Avatar of r_b

ASKER

any suggestions, please!?
ASKER CERTIFIED SOLUTION
Avatar of jlevie
jlevie

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of r_b

ASKER

I have removed the comments and restarted the server but from the log i see again not vb.lt.
If there is no other way i will accept your answer jlevie.

Log:

Oct 21 06:55:38 sdw2 sendmail[28564]: i9L4tca6028564: from=apache, size=589, class=0, nrcpts=1, msgid=<200410210455.i9L4tca6028564@sdw2.vb.lt>, relay=apache@localhost
Oct 21 06:55:38 sdw2 sendmail[28566]: i9L4tcO5028566: from=<apache@sdw2.vb.lt>, size=816, class=0, nrcpts=1, msgid=<200410210455.i9L4tca6028564@sdw2.vb.lt>, proto=ESMTP, daemon=MTA, relay=sdw2.vb.lt [127.0.0.1]
Oct 21 06:55:38 sdw2 sendmail[28564]: i9L4tca6028564: to=raimondas@vb.lt, ctladdr=apache (504/505), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30092, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (i9L4tcO5028566 Message accepted for delivery)
Oct 21 06:55:38 sdw2 sendmail[28568]: i9L4tcO5028566: to=<raimondas@vb.lt>, ctladdr=<apache@sdw2.vb.lt> (504/505), delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=30318, relay=mail.vb.lt. [194.176.58.131], dsn=2.0.0, stat=Sent (M2004102107073912242 Message accepted for delivery)
Avatar of r_b

ASKER

Everything is OK. From the log i see the sender is apache@sdw2.vb.lt, but when bugzilla sends me an email in the from field i see bugzilla-daemon@vb.lt, thats why mail server accepts all bugzilla emails. Thanks jlevie again, and all others too for the help to solve my problem, however jlevie deserves some points from me.