Exim Verify Reciepient by existence of a file - exim

I want to configure Exim to verify and accept emails only for users where a File exists. The File itself lies in a Folder constructed by paths of the Filename. (for use with modified mailman):
the mail for "mailing_address.tld#domain.tld" should only be accepted if a file exists:
/var/lib/mailman/a/ad/domain.tld/mailing/config.pck
So
/var/lib/mailman/{first letter of address "**a**"}/{first and second letter of address "**ad**"}/{first part of local_part delimtered by _ "**mailing**"}/config.pck
I've tried with exim sg and substring but I couldn't get it to work.

I found a solution with sg and substr:
MM_NAME=${sg{$local_part}{_.*}{}}
MM_DOMAIN=${sg{lc::$local_part}{.*_}{}}
MM_LISTCHK=/var/lib/mailman/lists/${substr{0}{1}{MM_DOMAIN}}/${substr{0}{2}{MM_DOMAIN}}/MM_DOMAIN/MM_NAME/config.pck
it's 3 parts but works like intended

Related

Mule 4: SFTP List files that contain a variable

I have an SFTP directory that contains several files in this format
19328D_T001045863113302101909_20220721_103898.txt
1932A8_T001045863113302101909_20220721_103802.txt
The part starting with T i have saved as a dynamic variable vars.transaction (e.g. vars.transaction == "T001045863113302101909"). I want to do a check if I have any files in this directory that contain my vars.transaction in the filename.
So I think I need to use sftp list connector, edit inline and use filename pattern. But as there is numbers before and after the Transaction part I am not sure what to put in the filename pattern. Something like [#vars.transaction]
Thanks in advance
You can use the wildcard * along with your variable. Like *#[vars.transaction]* that will match all the files which has the vars.transaction in their name

cannot verify domain for API

I've created a TXT with the correct code on Cloudflare, where my domain is. When I come back to verify it, I select 'other', as Cloudflare is not listed and it continues to not verify.
I've tried doing a TXT with an automatic TTL and 2 minutes.
Verification failed for www.elementroc.com using the DNS TXT record method (less than a minute ago). Your verification DNS TXT record was not found. You might need to wait a few minutes before Google sees your changes to the TXT records.
Looks like you want to verify subdomain www, but you have added the TXT record on the apex (naked domain) instead.
dig txt elementroc.com +short
"ca3-40990cad916b47a8b017bb011cbb17e7"
"google-site-verification=cffal5Q1lTU3_ATSfu1GGXd1b44nmyReUZOjPWXwEfw"
Google attempts to find the TXT record in www.elementroc.com but there's none.
dig txt www.elementroc.com +short
~
Refer to Cloudflare KB How do I verify a Google TXT record?.
If you want to verify your root domain, put # or elementroc.com for Name field of the record.
If you want to verify your subdomain www, put www.elementroc.com for Name field of the record.

create ACL in exim deny senders but exclude localdomains

reading material on the internet, I found a way to block extensions (TLD) or e-mail accounts, it's an excellent option since I make the mail never get the antispam, so I save resources.
discard senders = /opt/exim/deny_senders
message = your are blacklisted
Into the file deny_senders contain this:
*.ru
*.online
*.bid
In to the file /opt/exim/localdomains are the local domains of the server.
One of the local domains ends with the extension "bla.online" is it possible to create a rule to exclude the local?
You need to ensure that you have the line in your exim's config like that:
acl_smtp_rcpt = acl_rcpt
That directive declare that you want to filter out the messages on the RCPT stage. Then you have to find the exact part of config defined the ACL for RCPT and add this two rules:
acl_rcpt:
. . . . .
accept condition = ${lookup{\$sender_address}nwildlsearch{/path/to/white.list}{yes}}
reject condition = ${lookup{\$sender_address}nwildlsearch{/path/to/black.list}{yes}}
message = Go mail yourself you unsolicited sender!
. . . . .
Those two conditions checks the sender address in the files containing regular expressions one per line like that:
## WHITE.LIST
^.*\.bla\.online
and
## BLACK.LIST
^.*\.ru
^.*\.online
^.*\.bid
Regular expressions should conform the PCRE syntax:
^ mean the beginning of line
.* mean any sequence of any symbols
\. mean the dot itself
You have to place the whitelist above the blacklist because the ACL terminates on the first match. So more specific white regexps should be tested first. Also this two rules should be placed before any other rules that can accept messages for delivery.

Apache access log for IP address

How do I output the entire access log for a specific IP address only (from access.log)?
In other words, an access log that only contains details from a specific IP address.
If you are familiar with unix command line tools then you can also try grep or awk. Here's how you can use grep. Replace the IP with the one you are looking for and access.log with the full path to that file on your system.
grep 123.345.678.129 access.log
Hope that helps!
Copy the file and paste it on desktop or any other directory.
no open new excel file.
In excel, Go to Data From file, select all files type, open the file and import.
Select fixed width in original data type and finish.
select the first column and click on data ->filter
now select you can select data with ip now.

How to copy file to a new location having path length more than 260 characters in vista?

in my previous question as follows:
"How to create a copy of a file having length more than 260 characters."
I have asked almost same qustion and I got a solution to rename the directory name and then copy to a new location. But as per the client's requirement we can't rename the directory in any case.
So now my problem is when we try to copy a file having path length (including file name) more than 260 characters, (say 267 characters), it allows us to copy manually but throws an exception programmetically in vista OS.
Please let me know if any one has a solution.
Prepend \\?\ to your path to enable path lengths up to 32767 characters long. E.g:
copy \\?\C:\big\dir\hierarchy\myfile.txt \\?\C:\tohere.txt
This page has more details.
I've only tested this with DIR in WinXP, but that seems to work.
If the problem is just with the length of the file (not the preceding path), then you can use the short name version of the file (probabaly Outloo~1.xls ).
However, the only real viable solution is to use network redirection or SUBST command to shorten the path. I can imagine that you'd have to be keeping track of the path length in your program, and spawn a SUBST drive letter when the length is exceeded... dropping the drive letter when it's no longer needed. Ugly programming, but no hope.
Or
I know some unicode version of windows api functions (copyfileex..? http://msdn.microsoft.com/en-us/library/aa363852(VS.85).aspx) can handle to 32,767 chars.
Try to name it with a \\?\ prefix, for example, \\?\D:\. I'm not sure if CLR uses this kind of naming style, but you can give it a try.
You could check if compression tools like 7zip are limited by the length of the path in Vista.
If not, that means a "copy by program" would by:
compressed the tree of directories/file you want to copy
copy the .zip/.rar to the destination
uncompress