Exim: Variablen werden nicht "geparst"

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
kase
RSAC
Posts: 1041
Joined: 2002-10-14 22:56

Exim: Variablen werden nicht "geparst"

Post by kase » 2003-06-26 23:19

Normalerweise steht ja in der exim.conf in ${local_part} zB alles vor dem @.

Wenn ich jetzt eine neue Variable definieren will:

USERLOCAL = ${local_part}

dann wird aus unerklärlichem Grund das $local_part nicht ersetzt, sondern "Klartext" übernommen. Weiß jemand, wieso das so ist ?

Das es geht, weiß ich, Beispiele zB hier:

MYSQL_ALIASES = SELECT forward FROM aliases WHERE local_part='${local_part}' AND domain='${domain}'

http://www.isber.ucsb.edu/~randall/exim/configure.txt

Funktioniert bei ihm scheinbar ohne Probleme, bei mir will es einfach nicht. Wenn ich exakt den gleichen Befefl in die Exim Conf schreib, steht bei mir da ${local_part} und nicht der local_part.

Ã?brigens hat hier zB einer das gleiche Problem wie ich, leider gab es keine Antworten für ihn...

http://lists.beasts.org/pipermail/vmail ... 00526.html

Vielleicht weiß da ja jemand den entscheidenten Tipp.

dodolin
RSAC
Posts: 4009
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe

Re: Exim: Variablen werden nicht "geparst"

Post by dodolin » 2003-06-27 01:10

Habe keine Ahnung, vielleicht wurde da was in Exim geändert? Changelogs ev. mal durchsuchen, aber das kann zeitraubend werden, wenn man nicht gleich die richtigen grep-Wörter hat...

Ansonsten würde ich es z.B. mal ohne die Klammern und Anführungszeichen probieren, also so:

MYSQL_ALIASES = SELECT forward FROM aliases WHERE local_part=$local_part AND domain='${domain}'

Oder mal mit doppelten Anführungszeichen:

MYSQL_ALIASES = SELECT forward FROM aliases WHERE local_part="$local_part" AND domain='${domain}'

Tut das vielleicht?

kase
RSAC
Posts: 1041
Joined: 2002-10-14 22:56

Re: Exim: Variablen werden nicht "geparst"

Post by kase » 2003-06-27 12:34

Nee, dann stehn einfach die Anführungszeichen noch mit in der Variable.

Sehr sehr komisch alles...

captaincrunch
Userprojekt
Userprojekt
Posts: 7225
Joined: 2002-10-09 14:30
Location: Dorsten

Re: Exim: Variablen werden nicht "geparst"

Post by captaincrunch » 2003-06-27 12:48

DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc

kase
RSAC
Posts: 1041
Joined: 2002-10-14 22:56

Re: Exim: Variablen werden nicht "geparst"

Post by kase » 2003-06-27 15:31

Naja, die Variablen kenne ich ja alle, aber irgendwie werden die in sender_address_relay aus irgendeinem Grund nicht geparst. Und zu dem Grund hab ich leider keine Informationen auf dieser Seite gefunden.

sender_address_relay = /etc/exim/'$local_part'

=>
2003-06-27 15:33:10 failed to open /etc/exim/'$local_part' when checking for kase@legendz.de in sender_address_relay: No such file or directory


sender_address_relay = /etc/exim/"$local_part"

=>
2003-06-27 15:33:10 failed to open /etc/exim/"$local_part" when checking for kase@legendz.de in sender_address_relay: No such file or directory

sender_address_relay = /etc/exim/$local_part

=>
2003-06-27 15:33:10 failed to open /etc/exim/$local_part when checking for kase@legendz.de in sender_address_relay: No such file or directory

sender_address_relay = /etc/exim/${quote:$localpart}

=>
2003-06-27 15:33:10 failed to open /etc/exim/${quote when checking for kase@legendz.de in sender_address_relay: No such file or directory

Bekomm den Mist einfach nicht hin. Aus irgendeinem Grund wird dort $variable nicht ersetzt, sondern Klartext übernommen, bin irgendwie am Verzweifeln.

Edit: Vor allem ist die Variable ja eine Zeile vorher in 'received_header_text = ...' verfügbar, und in sender_address_relay auf einmal nicht mehr...

captaincrunch
Userprojekt
Userprojekt
Posts: 7225
Joined: 2002-10-09 14:30
Location: Dorsten

Re: Exim: Variablen werden nicht "geparst"

Post by captaincrunch » 2003-06-27 15:49

Poste am besten mal den kompletten Codeschnipsel, dann lässt sich vielleicht mehr dazu sagen.

Btw. : u.U. wäre es ohnehin sinniger, hierfür einfach einen Lookup zu machen. Genaueres aber erst, wenn ich weiß, was du schon wieder vorhast ... ;)
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc

kase
RSAC
Posts: 1041
Joined: 2002-10-14 22:56

Re: Exim: Variablen werden nicht "geparst"

Post by kase » 2003-06-27 16:00

gut ^^

Ich will ganz einfach die Absenderadresse auf $autheticated_id beschränken. In dieser Variable steht der Username vom SMTP Auth, also immer user@domain.tld, was ja = der Absenderadresse sein soll.

Natürlich wäre auch möglich: $local_part@$domain was aufs gleiche rausläuft.

Allerdings bekomme ich es einfach nicht hin, dass in

sender_address_relay = xyz Variablen geparst werden.

Hab zu Testzwecken mal die Datei /etc/exim/kase angelegt, in der kase@legendz.de steht.

Wenn ich jetzt eine E-Mail versenden will, steht in $local_part ja kase. Allerdings wird die Variable nicht ersetzt, und er findet die Datei /etc/exim/$local_part natürlich nicht. Soll ja eigentlich /etc/exim/kase sein.

Was meinst du mit weitere Code-Schnipsel ? Ist eigentlich ein ganz simples Problem, was mehr oder weniger nur aus einer Zeile besteht.

Das es funktioniert, habe ich oben in dem einen Link schon gepostet, derjenige benutzt lediglich mysql, aber die Variablen werden ja trotzdem bei ihm geparst.

captaincrunch
Userprojekt
Userprojekt
Posts: 7225
Joined: 2002-10-09 14:30
Location: Dorsten

Re: Exim: Variablen werden nicht "geparst"

Post by captaincrunch » 2003-06-27 16:08

Ich würd's einfach so lösen :

Code: Select all

sender_address_relay = ${lookup {$local_part} lsearch {/etc/exim/wer_darf_relayen}}
Nicht getestet, sollte aber gehen.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc

kase
RSAC
Posts: 1041
Joined: 2002-10-14 22:56

Re: Exim: Variablen werden nicht "geparst"

Post by kase » 2003-06-27 18:00

was steht dann in der wer_darf_relayen ?

ist die dann aufgebaut nach dem Prinzip:

$local_part:<tab>user@domain.tld


???

captaincrunch
Userprojekt
Userprojekt
Posts: 7225
Joined: 2002-10-09 14:30
Location: Dorsten

Re: Exim: Variablen werden nicht "geparst"

Post by captaincrunch » 2003-06-27 18:07

Nö, theoriehalber einfach nur der local_part ...
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc

kase
RSAC
Posts: 1041
Joined: 2002-10-14 22:56

Re: Exim: Variablen werden nicht "geparst"

Post by kase » 2003-06-28 02:02

naja, ganz am Ende muss ja dann nach dem = eine ganze E-Mail-Adresse stehen.

kase
RSAC
Posts: 1041
Joined: 2002-10-14 22:56

Re: Exim: Variablen werden nicht "geparst"

Post by kase » 2003-06-28 02:15

geht leider alles nicht, deine Zeile wird komplett "Klartext" übernommen. Wenn ich alles so einfüge, könnte ich nur noch mit der Absenderadresse "${lookup {$local_part} lsearch {/etc/exim/wer_darf_relayen}}" Mails versenden. Es wird keine einzige Funktion oder Variable "geparsed".

Natürlich habe ich das wer_darf_relayen angepasst, aber wie gesagt, was man auch nach dem = hinschreibt, es wird Klartext übernommen.