can't send mail to hotmail or yahoogroups addresses
Cowles, Steve
steve at stevecowles.com
Mon Jun 28 21:36:29 UTC 2004
Eliot Stock wrote:
> Hello.
>
> With FC2 I thought I'd have a go at hosting my own mail for the first
> time. Sendmail, procmail, and Dovecot are all working fine, but
> hotmail and yahoogroups seem to be refusing to accept mail from me.
>
> I use a fat mail client (thunderbird) when I'm at home and a web based
> one (horde imp) when I'm away. Thunderbird sends mail using my ISP's
> smtp server, so from there I can send mail to hotmail and yahoogroups
> just fine. When I'm away using the web based client, it uses sendmail
> directly, and the mail sits in /var/spool/mqueue for five days until
> it bounces. 'mailq' shows:
>
> /var/spool/mqueue (1 request)
> -----Q-ID----- --Size-- -----Q-Time-----
> ------------Sender/Recipient-----------i5S8v2K3018352 2893 Mon Jun
> 28 09:57 <my at address.com>
> (reply: read error from mx1.hotmail.com.)
> <addressee at hotmail.com>
> Total requests: 1
>
> What I want to know is this: what do I have to do to sendmail.mc to
> get sendmail to do as thunderbird is doing and just talk smtp to my
> ISP's smtp server for remote delivery, but carry on doing what its
> doing now for local delivery?
>
> Cheers,
>
> Eliot.
I started writing a sendmail howto last year, but then put this task on a
back burner when I switched to using postfix. I have cut/pasted the section
relevant to your post below. Hopefully it answers your question.
Steve Cowles
Note: In the following example, I'm sending e-mail from a Fedora Core system
running sendmail 8.12.10. I have configured sendmail to use a smarthost (my
outbound postfix server named mail.myisp.net). Postfix is configured to only
allow relaying if the user (or MTA) authenticates.
1) Uncomment (remove the dnl) smart_host define in /etc/mail/sendmail.mc and
change to your ISP's mail server .
define(`SMART_HOST',`mail.myisp.net')dnl
Note: Replace mail.myisp.net with the outbound mail server of your ISP.
2) If your ISP's mail server requires authentication, sendmail will need to
be configured to act as a client with the SMART_HOST specified server. If
your ISP's mail server does not require authentication, then you can skip to
step 5. Otherwise, add the feature authinfo to /etc/mail/sendmail.mc. by
adding the following line.
FEATURE(`authinfo')dnl
Note: I chose to add the sendmail feature authinfo instead of simply adding
the authentication info to sendmail's access map because username/password
information must be added (see step 3). Using the authinfo feature allows
you to set the permissions on the /etc/mail/authinfo file to 600, while the
default for the access map is set to 644.
3) Add your username/password authentication info (tokens) required by your
ISP's mail server to /etc/mail/authinfo. The tokens that can be specified in
this file are as follows:
U user (authorization) id
I authentication id
P password
R realm
M list of mechanisms delimited by spaces
# cd /etc/mail
# touch authinfo
# chmod 600 authinfo
# chown root.root authinfo
# vi authinfo (Insert username/password info using the following format.
Adjust to meet your needs)
AuthInfo:mail.myisp.net "U:scowles" "I:scowles" "P:mypassword"
4) Since the authinfo file will need to be converted to a database, its
reference will need to be added to to /etc/mail/Makefile. I've included the
top part of my Makefile for reference.
POSSIBLE += $(shell test -f bitdomain && echo bitdomain.db)
POSSIBLE += $(shell test -f uudomain && echo uudomain.db)
POSSIBLE += $(shell test -f userdb && echo userdb.db)
POSSIBLE += $(shell test -f authinfo && echo authinfo.db)
CFFILES = sendmail.cf submit.cf
all: ${CFFILES} ${POSSIBLE} virtusertable.db access.db domaintable.db
mailertable.db
5) As root, Rebuild the sendmail.cf file and create authinfo database file
# cd /etc/mail
# make
Note: In order to regenerate the sendmail.cf file, the sendmail-cf rpm
package must be loaded.
6) Restart sendmail so it can now use the new sendmail.cf file.
# service sendmail restart
Now try sending an e-mail through your ISP's mail server and check
/var/log/maillog. Using my example above, it should show
relay=mail.myisp.net. Example: Sending an e-mail from the command line
using... mail someone at aol.com should produce the following maillog entry
(should be the last entry). Note the relay=mail.myisp.net. The IP address
[in brackets] should match that of your ISP's outbound mail server.
Nov 25 09:37:31 enterprise sendmail[18631]: hAPFbUd5018629:
to=<someone at aol.com>, ctladdr=<scowles at enterprise.mydomain.tld>
(500/500), delay=00:00:01, xdelay=00:00:01, mailer=relay, pri=30377,
relay=mail.myisp.net. [xx.xx.xx.xx], dsn=2.0.0, stat=Sent (Ok: queued
as A24E31768A)
More information about the fedora-list
mailing list