[EXIM] autoreply: newlines in text cause it to bomb. Help.

トップ ページ
このメッセージを削除
このメッセージに返信
著者: Mark Buckaway
日付:  
To: exim-users
題目: [EXIM] autoreply: newlines in text cause it to bomb. Help.
I've created a DB file via perl for Exim to read for the autoreply transport.
However, there seems to be some unprintable character in the text that
exim does not like. The "unprintable" character appears to be a newline.

Here is configure "stuff":
The transport:

vacation_reply:
        driver=autoreply,
        to=${sender_address},
        from="vacation@???",
        once = ${home}/Mail/inbox/once.db
        subject="AUTOMATIC REPLY: Re: $h_subject",
        file=/opt/httpd/data/personal.msg,
        text=${extract{4}{:}{${lookup {${local_part}} dbm {/opt/httpd/data/email data} {$value} {:::Message recieved, however, I/we are not availabl e.}}}}
#    text=${extract{4}{:}{${lookup {${local_part}} dbm {/opt/httpd/data/email data} {:::This is a test\n} {:::Message recieved, however, I/we are not availabl e.}}}}


The director:

vacation:
        driver = localuser
        condition=${extract{4}{:}{${lookup {${local_part}} dbm
{/opt/httpd/data/
emaildata} {$value} {0}}}}
        no_verify,
        except_senders="^.*-reques-@.*:^owner-.*@:^postmaste-@.*:i\
                ^listmaster-@.*:^mailer-daemo-@.*"
        transport=vacation_reply,
        unseen,


This all works IF I do not include a newline in the text in the db file.

The info stored BTW looks like:
1:19980101:19980101:Some text in here

Add a newline in the fourth field, and exim bombs:
1998-11-17 10:12:14 0zfmne-0007f0-01 ** markb@??? D=vacation T=vacation_reply: Expansion of "${$extract{4}{:}{${lookup {${local_part}} dbm {/opt/httpd/data/emaildata} {${value}} {:::Message recieved, however, I/we are not available.}}}}" in vacation_reply transport contains non-printing characters
1998-11-17 10:12:14 0zfmne-0007f0-01 markb@???: error ignored
1998-11-17 10:12:14 0zfmne-0007f0-01 Completed

Remove any newlines and it works.

It would appear I must escape the newlines in exim to work around the problem,
yet, I can't find any functions to do substritutions. Quoting things in the
text line has no affect.

Am I'm attempting to do too much here? Anyone have any suggestions?

Mark
-- 
----------------------------------------------------------------------------
Mark Buckaway               Programmer            ACC Global
markb@???         416-236-1027x1083
----------------------------------------------------------------------------


--
*** Exim information can be found at http://www.exim.org/ ***