[Munich-pm] [halb OT] pcre für Postfix-Adressumschreibung

Stephen Riehm japh at opensauce.de
Mo Jun 9 13:51:09 PDT 2014


Hi Stefan,

Ich denke zwei Kleinigkeiten müssten schon reichen:

	<.*?@ statt <.*@

und um mehrerer Empfänger zu behandeln entweder eine Vereinfachte Pattern und /g oder eine while Schleife, etwa so:

	$orig = 'To: =?windows-1252?Q?LHG_1_=28Fax_Gesch=E4ft=29?= <LHG 1 at +41 (8621) 9960237>, =?windows-1252?Q?LHG_2_=28Fax_Gesch=E4ft=29?= <LHG2 at +49 3212-1150047>';
	print "was:   $orig\n";

	$while = $orig;
	while( $while =~ s/^To:\s*(.*)<.*?@\+(\d+).*?(\d+).*?(\d+)>/To: $1 <00$2$3$4\@faxmaker.com>/ ) {}
	print "while: $while\n";

	$subst = $orig;
	$subst =~ s/<.*?@\+(\d+).*?(\d+).*?(\d+)>/<00$1$2$3\@faxmaker.com>/g;
	print "subst: $subst\n";

Cheers,

Steve

On 09.06.2014, at 21:44, Andreas Hernitscheck <tech at tool.de> wrote:

> Hallo Stefan,
> 
> es wäre leichter wenn du in Worten erklärst, was der Regex denn nun tun soll? 
> 
> Geht denn kein ///g am Ende, um es mehrmals durchführen zu lassen?
> 
> Durch einfaches Regex kann man es nicht lösen. Das Wiederholen muss schon vom Interpreter z.B. durch /g nutzbar gemacht werden.
> 
> Gibt es vielleicht die Möglichkeit das durch ein externes Script zu jagen?
> 
> 
> 
> 
> Am 09.06.14 10:29, schrieb Stefan Bauer:
>> Hallo nach München und Umgebung,
>> 
>> ich habe hier ein kniffliges Problem und verzweifle an der Lösung. Mit Postfix gibt es die Möglichkeit, das To: Feld im E-Mail Header umzuschreiben.
>> 
>> Das klappt mit meiner Regex prima für einen Empfänger - bei mehreren Empfängern gehen mir die Ideen aus, wie ich das umsetzen kann:
>> 
>> Mein Input-String ist:
>> 
>> To: =?windows-1252?Q?LHG_1_=28Fax_Gesch=E4ft=29?= <LHG 1 at +49 (8621) 9960237>, =?windows-1252?Q?LHG_2_=28Fax_Gesch=E4ft=29?= <LHG2 at +49 3212-1150047>
>> 
>> Mit folgender Anweisung setze ich den String um:
>> 
>> /^To:\s*(.*)<.*@\+(\d+).*?(\d+).*?(\d+)>/     To: $1 <00$2$3$4 at faxmaker.com>
>> 
>> Auf der Kommandozeile sieht man auch das Ergebnis (leider nur beim letzten Empfänger):
>> 
>> root at srv1:/home/stefan# postmap -q "To: =?windows-1252?Q?LHG_1_=28Fax_Gesch=E4ft=29?= <LHG 1 at +49 (8621) 9960237>, =?windows-1252?Q?LHG_2_=28Fax_Gesch=E4ft=29?= <LHG2 at +49 3212-1150047>" pcre:/etc/postfix/rewrite_tofieldTo: =?windows-1252?Q?LHG_1_=28Fax_Gesch=E4ft=29?= <LHG 1 at +49 (8621) 9960237>, =?windows-1252?Q?LHG_2_=28Fax_Gesch=E4ft=29?=  <004932121150047 at faxmaker.com>
>> 
>> Danke
>> 
>> Stefan
>> 
>> 
>> _______________________________________________
>> Munich-pm mailing list 
>> http://munich.pm.org/
>> Munich-pm at pm.org
>> http://mail.pm.org/mailman/listinfo/munich-pm
> 
> -- 
> Andreas Hernitscheck
> 
> E-mail: 
> tech at tool.de
> 
> 
> Gertrud-Bäumer-Str. 14
> 80637 Munich, Germany
> 
> Phone: +49 176 210 16 397
> 
> GPG: 
> http://xantavia.net/downloads/team/andreashernitscheck/gpg/andreashernitscheck.asc
> 
> 
> 
> 
> _______________________________________________
> Munich-pm mailing list http://munich.pm.org/
> Munich-pm at pm.org
> http://mail.pm.org/mailman/listinfo/munich-pm



Mehr Informationen über die Mailingliste Munich-pm