Exim: Variablen werden nicht "geparst"
Exim: Variablen werden nicht "geparst"
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.
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.
Re: Exim: Variablen werden nicht "geparst"
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?
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?
Re: Exim: Variablen werden nicht "geparst"
Nee, dann stehn einfach die Anführungszeichen noch mit in der Variable.
Sehr sehr komisch alles...
Sehr sehr komisch alles...
-
captaincrunch
- Userprojekt

- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: Exim: Variablen werden nicht "geparst"
Schon mal hier gelesen : http://www.exim.org/exim-html-3.30/doc/ ... tml#SEC184 ?
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Re: Exim: Variablen werden nicht "geparst"
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...
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

- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: Exim: Variablen werden nicht "geparst"
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 ... ;)
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
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Re: Exim: Variablen werden nicht "geparst"
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.
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

- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: Exim: Variablen werden nicht "geparst"
Ich würd's einfach so lösen :
Nicht getestet, sollte aber gehen.
Code: Select all
sender_address_relay = ${lookup {$local_part} lsearch {/etc/exim/wer_darf_relayen}}DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Re: Exim: Variablen werden nicht "geparst"
was steht dann in der wer_darf_relayen ?
ist die dann aufgebaut nach dem Prinzip:
$local_part:<tab>user@domain.tld
???
ist die dann aufgebaut nach dem Prinzip:
$local_part:<tab>user@domain.tld
???
-
captaincrunch
- Userprojekt

- Posts: 7066
- Joined: 2002-10-09 14:30
- Location: Dorsten
- Contact:
Re: Exim: Variablen werden nicht "geparst"
Nö, theoriehalber einfach nur der local_part ...
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
Re: Exim: Variablen werden nicht "geparst"
naja, ganz am Ende muss ja dann nach dem = eine ganze E-Mail-Adresse stehen.
Re: Exim: Variablen werden nicht "geparst"
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.
Natürlich habe ich das wer_darf_relayen angepasst, aber wie gesagt, was man auch nach dem = hinschreibt, es wird Klartext übernommen.