Re: [exim] raw mime_filename

2022-10-20 Thread Jasen Betts via Exim-users
On 2022-10-13, Mikhail Golub via Exim-users  wrote:
> Hi.
>
> How can I get "raw" $mime_filename ?
>
> In Exim - "headers_charset = UTF-8".
> And if file name of attachment not in utf8 i have a problem with log 
> display.
> Example from log, $mime_filename:
> "▒▒ ▒▒▒ 12_10_22.xlsx"
>
> I could use ... embedded Perl (use Encode).
> If i got raw mime_filename ...
>
> Or can you recommend an easier way get filename in log in utf8 encoding?

nothing that can be relied upon.

last week I saw an attachment with lots of high-bit bytes in the
filename, not UTF-8, and no explicit announcement of the character set.

deny
  condition = $if(eq{$mime_filename}{${utf8clean:$mime_filename}{no}{yes}}
  message=unnaceptable attachment filename please follow RFC

-- 
  Jasen.

-- 
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/


Re: [exim] Idea: a retry which is more expansive, uses the set of mx hosts

2022-10-20 Thread Gedalya via Exim-users
On 10/21/22 05:07, Ian Kelling via Exim-users wrote:
> Sorry for the long email here. Let me know if anything isn't clear.
>
> In the spec, 32.4 sending to a.b.c.example is retried to another mx
> host. I've had yahoo return a temporary error which says roughly "don't
> email any of our mx hosts for a while".

Do they say that in response to RCPT TO:, making exim treat it as a per-address 
failure rather than a host failure? Otherwise I don't see why a retry rule for 
e.g. *.yahoodns.net. won't work.

I have indeed had situations where it would have been desirable to have exim 
process per-host retry rules even though the deferrals come after RCPT TO:.

> I'm imagining a new feature that would upon a delivery failure,
> record the recipient domain, and it's mx hosts, and then for any future
> delivery which is to that domain or if that domains mx list has any of
> previously failed hosts, then defer. Am I missing something?
>
You might be able to implement that using the Events facility (ch. 61) with the 
help of an external database.

I'm still kind of fuzzy about the exact nature of the problem though.



-- 
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/


[exim] Idea: a retry which is more expansive, uses the set of mx hosts

2022-10-20 Thread Ian Kelling via Exim-users
Sorry for the long email here. Let me know if anything isn't clear.

In the spec, 32.4 sending to a.b.c.example is retried to another mx
host. I've had yahoo return a temporary error which says roughly "don't
email any of our mx hosts for a while". Yahoo has like 16 mx hosts, and
like 100 domains which go to those hosts.  I can't encode that into
retry rules. I could setup a cronjob which queried all those mx hosts
and put them into the exim config and that list would become invalid for
some period between the cronjobs when they added a new mx host. I ended
up basically making an ahoc queue runner which would do its own retry
calculation for yahoo, and made any failure to yahoo freeze a message so
my own queue runner could handle it.

That taught me: don't run queue runners in a short interfal, or else it
will cause problems with retrying too much. Now, I've come into a
situation where I want to run queue runners fast (like every minute) in
order to send a lot of mail fast (but slower than I receive it), but I
know I can't do that with queue runners without retrying too often. So,
I'm setting up 2 exim spools, and 2 daemons, where 1 does fast queue
runners that send to a second exim daemon which tries an immediately
delivery but has a different spool, which does the default 30 minute
queue runners. But that adds a fair bit of unnecessary overhead if exim
could just do this with 1 spool, and retry rules that did what I want.
So, I'm imagining a new feature that would upon a delivery failure,
record the recipient domain, and it's mx hosts, and then for any future
delivery which is to that domain or if that domains mx list has any of
previously failed hosts, then defer. Am I missing something?

-- 
Ian Kelling | Senior Systems Administrator, Free Software Foundation
GPG Key: B125 F60B 7B28 7FF6 A2B7  DF8F 170A F0E2 9542 95DF
https://fsf.org | https://gnu.org

-- 
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/


Re: [exim] [mailop] T-Online is now really blocking messages from non-commercial and simliar senders

2022-10-20 Thread Graeme Fowler via Exim-users
On 20 October 2022 20:54:23 Jeremy Harris via Exim-users 
 wrote:

I don't think it should be the Exim project doing that,


Agreed. If it was commercial software doing that then there would be legal 
challenges galore.


Wearing my mailop moderator hat I think two things need to happen - first 
that the thread is pulled back into the realms of realism, and second look 
at my archives to see if I can find why Jeremy isn't on the list any more.


Graeme
--
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/


Re: [exim] [mailop] T-Online is now really blocking messages from non-commercial and simliar senders

2022-10-20 Thread Lena--- via Exim-users
> T-Online clearly states in their terms and conditions that they will
> block servers who perform sender verfication towards them.

Then a different check:

 deny condition = ${if or{\
{eqi{$sender_address_domain}{t-online.de}}\
.ifdef _HAVE_LOOKUP_DNSDB
{forany{${lookup dnsdb{>: defer_never,mxh=$sender_address_domain}}}\
   {match{$item}{\N^mx\d+\.t-online\.de$\N}}}\
.endif
   }}
  condition = ${if match{${readsocket{inet:\
.ifdef _HAVE_LOOKUP_DNSDB
${reduce{${lookup dnsdb{>: defer_never,mxh=$sender_address_domain}}}\
{}{$item}}\
.else
mx00.t-online.de\
.endif
:25}{}{2s}}}{^554 IP=}}
  message = We checked that $sender_address_domain blocks us. \
So we do not accept a message we cannot reply to.
# The server admin may change "deny" to "warn" and
# "message =" to "control = fakereject/"
# but few admins will want that (or notice and bother).


-- 
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/


Re: [exim] [mailop] T-Online is now really blocking messages from non-commercial and simliar senders

2022-10-20 Thread Jeremy Harris via Exim-users

On 20/10/2022 20:01, Lena--- via Exim-users wrote:

I propose to include in default Exim config (in rcpt ACL)
a code which checks whether the server is blocked by t-online.de


I don't think it should be the Exim project doing that,
in the default configuration of the Exim release,
if that's what you mean.

(Oddly enough, I was subscribed to mailop - but the last
message from there was in 2020.  Perhaps they fell foul
of my defences)
--
Cheers,
  Jeremy


--
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/


Re: [exim] [mailop] T-Online is now really blocking messages from non-commercial and simliar senders

2022-10-20 Thread Lena--- via Exim-users
Kai Siering wrote on [mailop]:

> how about starting internal discussions within that community
> to include a default rejection of any mail from @t-online.de
> in Exim's default configuration?

> As nearly no-one who is deploying Exim
> (or Postfix, Sendmail for that matter)
> will be able to *send* to @t-online.de due to their policy,
> it is only logical to not *accept* any mail from them, too.

I propose to include in default Exim config (in rcpt ACL)
a code which checks whether the server is blocked by t-online.de:

 warn set acl_m_ton = notton
  condition = ${if or{\
{eqi{$sender_address_domain}{t-online.de}}\
.ifdef _HAVE_LOOKUP_DNSDB
{forany{${lookup dnsdb{>: defer_never,mxh=$sender_address_domain}}}\
   {match{$item}{\N^mx\d+\.t-online\.de$\N}}}\
.endif
   }}
  set acl_m_ton = checkdefer
  !verify = sender/callout=10s
  set acl_m_ton = $acl_verify_message

 deny condition = ${if !eq{$acl_m_ton}{notton}}
  condition = ${if !eq{$acl_m_ton}{checkdefer}}
  message = sender verify failed: $acl_m_ton

 deny condition = ${if eq{$acl_m_ton}{checkdefer}}
  message = We checked that $sender_address_domain blocks us. \
So we do not accept a message we cannot reply to.
# The server admin may change "deny" to "warn" and
# "message =" to "control = fakereject/"
# but few admins will want that (or notice and bother).


-- 
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/