autoresponder fails to answer to mails with attached file

koudou

Verified User
Joined
Oct 13, 2003
Messages
54
I just have a stange behavior with autoresponder.

When the incoming email is a standard one (no file attached), then the autoreply answer is sent to sender (what we expect from and autoresponder)

But if the incoming email has a file attached (example, an excel file), then the autoresponder detects an error because of non-printing character with message =

This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

[email protected]
Expansion of "${if def:h_Subject: {Autoreply: $h_Subject:} {Autoreply Message}}" in userautoreply transport contains non-printing character 232

------ This is a copy of the message, including all the headers. ------

etc...

The message is correctly stored in the pop3 box.

I tried to find out something wrong in exim.conf, but found nothing.

I suppose there is some trick somwhere. Is there ?
 
Hello,

I think there might be some strange character sent in the subject of the email that's causing exim to choke.

The only expansion variable is $h_Subject

John
 
Hello John,

I don't know what do you call "strange", but if this not the standard alphabetic english characters, you a right : there is some accentuated characters in the subject

Subject: =?ISO-8859-1?Q?essai_avec_pi=E8ce_attach=E9e?=

But if you get this same subject and no attachment, everything is correct, there is no error found and autoreply message is sent normally.

The thing is that if you have an attached message, an error occurs with the subject while if you do not have attached message, there is no problem.

In my opinion, this is a bug : you cannot forbid to message sender to send only non accent'ed characters in the subject of an email if the have an attached document : this does not follows SMTP rules !

What I do not understand is why the code to send the autoreply is not the same depending on incoming message with or without accent'ed characters, and why there is a problem with incoming message as it is stored correctly in pop3 box ?
 
Exim has some rules in place to help to make it more secure. Some of these rules attempt to find attempted attacks by checking for certain non alpha/numeric values.

What John was saying that the subject could be causing the problem.

Since it's not happening with the same subject and no attachment that's probably not the reason.

If you don't have the autoresponder turned on does the mail get properly delivered?

This could be some kind of esoteric exim bug.

Has anyone else had the problem? Anyone ?

Jeff
 
Thank you for your answer jlasman.

I suppose that my english is not good enough and that I have some difficulties to explain exactly what happens (english is not my mother language)

When I have caracters accentuated in header, vacation and autoresponder do not work.

With no vacation or autoresponder, it work fine, even with accentuated caracters.


Michel Lo
 
I do understand; I'm sorry if I didn't make that clear enough.

But I don't have a ready answer, and I haven't seen the problem so I can't take the time to work on it now; I hope someone else can.

Jeff
 
Hello,

I think exim doesn't like certain characters.. so if you need, you could remove the old subject from the auto reply:

/etc/exim.conf : change:
Code:
userautoreply:
  driver = autoreply
  bcc = ${lookup{${local_part}} lsearch {/etc/virtual/${domain}/autoresponder.conf}{$value}}
  file = /etc/virtual/${domain}/reply/${local_part}.msg
  from = "${local_part}@${domain}"
  log = /etc/virtual/${domain}/reply/${local_part}.log
  no_return_message
  subject = [b]"${if def:h_Subject: {Autoreply: $h_Subject:} {Autoreply Message}}"[/b]
  to = "${sender_address}"
  user = mail
  #once = /etc/virtual/${domain}/reply/${local_part}.once
To
Code:
userautoreply:
  driver = autoreply
  bcc = ${lookup{${local_part}} lsearch {/etc/virtual/${domain}/autoresponder.conf}{$value}}
  file = /etc/virtual/${domain}/reply/${local_part}.msg
  from = "${local_part}@${domain}"
  log = /etc/virtual/${domain}/reply/${local_part}.log
  no_return_message
  subject = [b]"Autoreply Message"[/b]
  to = "${sender_address}"
  user = mail
  #once = /etc/virtual/${domain}/reply/${local_part}.once
And also do the same for the vacation message. It's a bit of a hack, but if exim can't handle the characters, this should be a "fix" (Although, not too pretty)

John
 
Thank you for your suggestion John. But in fact, I did it before you suggested it.

Just one trick : I've installed MailScanner on my system (following the suggestion given in these forums), and the configuration to modify is not in
/etc/exim.conf but in /etc/exim_outgoing.conf

I suppose that I could write a perl prog to translate accentuated caracters to 7bits ascii, but have no time to do it ...

Thank you all for your answers and suggestions

Michel Lo
 
Back
Top