[exim] smtp auth to forward via my ISP

Top Page
Delete this message
Reply to this message
Author: Gonzalo Marcote Peña
Date:  
To: exim-users
Subject: [exim] smtp auth to forward via my ISP
Hello.
I am totally newbie with exim4, and i think i have one very simple
problem...but i can't find the solution in the doc, so i would apreciate
your help.
Here is my problem:

"I Can not send emails to my ISP to external email accounts (gmail,
yahoo...) but it send it ok to my local accounts name@???"

I have installed exim4 (4.69-9) in Debian Lenny
I have one account name@???
If I configure it in my evolution it works ok and send mails to all
emails accounts (gmail, yahoo...)
If i do one telnet to my mail.mydomain.es i can see the auth methods:

ehlo client.example
250-mydomain. [XX.XXX.XXX.XXX], this server offers 4 extensions
250-AUTH LOGIN
250-SIZE 0
250-HELP
250 AUTH=LOGIN
exit

So my method is AUTH LOGIN

I Configure exim4 as smarthost and send it through SMTP, fetchmail
In my /etc/exim4/passwd.client i put:

mail.mydomain.es:myuser@???:mypassword
And when i try to send one mail to one external account i get this
message in the exim logs:
"xxxxxx@??? R=smarthost T=remote_smtp_smarthost: SMTP error from
remote mail server after RCPT TO:<xxxxxx@???>: host
mail.mydomain.es [82.xxx.xxx.xxx]: 503 This mail server requires
authentication when attempting to send to a non-local e-mail address.
Please check your mail client settings or contact your administrator to
verify that the domain or address is defined for this server."

If i configure exim and /etc/exim4/passwd.client file with one gmail
account i can send email to everybody.

I have the configuration in one monolitic file
in /etc/exim4/exim4.conf.template
I iedit it i can see:

login:                                                                                                                                                      
  driver =
plaintext                                                                                                                                        
  public_name =
LOGIN                                                                                                                                       
.ifndef
AUTH_CLIENT_ALLOW_NOTLS_PASSWORDS                                                                                                                   
  # Return empty string if not non-TLS AND looking up $host in
passwd-file                                                                                  
  # yields a non-empty string; fail
otherwise.                                                                                                              
  client_send = "<; ${if
and{\                                                                                                                              
                          {!
eq{$tls_cipher}{}}\                                                                                                             
                          {!
eq{PASSWDLINE}{}}\                                                                                                              
                         }\                                                                                                                                 


{}fail}\                                                                                                                              
                 ;
${extract{1}{::}{PASSWDLINE}}\                                                                                                           
                ; ${sg{PASSWDLINE}{\\N([^:]+:)(.*)\\N}{\\
$2}}"                                                                                              
.else                                                                                                                                                       
  # Return empty string if looking up $host in passwd-file yields
a                                                                                         
  # non-empty string; fail
otherwise.                                                                                                                       
  client_send = "<; ${if !
eq{PASSWDLINE}{}\                                                                                                                 


{}fail}\                                                                                                                              
                 ;
${extract{1}{::}{PASSWDLINE}}\                                                                                                           
                ; ${sg{PASSWDLINE}{\\N([^:]+:)(.*)\\N}{\\
$2}}"                                                                                              
.endif



But it does not works. saw in the doc to change it to:
login_server:
driver = plaintext
public_name = LOGIN
server_prompts = "miname@???:: : mypassword::"
server_condition = "${if
crypteq{$auth2}{${extract{1}{:}{${lookup{$auth1}lsearch{CONFDIR/passwd.client}{$value}{*:*}}}}}{1}{0}}"
server_set_id = $auth1
.ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
.endif


But still not work...

What i am doing wrong?
Where I should specify my smtp authorization to send the emails to my
ISP?
Beacuse with the same config it works with one gmail account.
I would apreciate some help.

Thank you and excuse my bad English language.

Gonzalo Marcote