RE: can't send mail to hotmail or yahoogroups addresses

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxx>
>                  (reply: read error from mx1.hotmail.com.)
>                                          <addressee@xxxxxxxxxxx>
>                 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@xxxxxxx 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@xxxxxxx>, ctladdr=<scowles@xxxxxxxxxxxxxxxxxxxxxxx>
(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)



[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux