• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 4022
  • Last Modified:

Exim + Procmail = "Mail delivery failed"

I am trying to use procmail to filter my spam to a .Spam folder using Procmail.

I am using exim and have added the following procmail router/transport to my exim conf, but when i do all mails bounce.

vdom_aliases:
      driver = redirect
      allow_defer
      allow_fail
      domains = dsearch;/usr/local/etc/exim/virtual
      data = ${expand:${lookup{$local_part}lsearch*@{/usr/local/etc/exim/virtual/$
domain}}}
      retry_use_local_part
      pipe_transport   = address_pipe
      file_transport   = address_file
      no_more

procmail:
  debug_print = "R: procmail for $local_part@$domain"
  driver = accept
  domains = +local_domains
  check_local_user
  transport = procmail_pipe
  # emulate OR with "if exists"-expansion
  require_files = ${local_part}:\
                  ${if exists{/etc/procmailrc}\
                    {/etc/procmailrc}{${home}/.procmailrc}}:\
                  +/usr/local/bin/procmail
  no_verify
  no_expn

The vdom alias seems to work, but once i add the procmail part it fails.

Here is the output from exim log:

$ sudo exim -bt -d mail@foo.co.uk
Exim version 4.67 (FreeBSD 6.2) uid=0 gid=0 pid=84372 D=fbb95cfd
Probably Berkeley DB version 1.8x (native mode)
Support for: crypteq iconv() IPv6 use_setclassresources PAM Perl OpenSSL Content_Scanning Old_Demime
Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dnsdb dsearch nis nis0 passwd
Authenticators: cram_md5 plaintext spa
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp
Fixed never_users: 0
Size of off_t: 8
changed uid/gid: forcing real = effective
  uid=0 gid=0 pid=84372
  auxiliary group list: 0
seeking password data for user "mailnull": using cached result
getpwnam() succeeded uid=26 gid=26
seeking password data for user "root": cache not available
getpwnam() succeeded uid=0 gid=0
configuration file is /usr/local/etc/exim/configure
log selectors = 00000ffc 00212001
trusted user
admin user
seeking password data for user "mailnull": cache not available
getpwnam() succeeded uid=26 gid=26
originator: uid=0 gid=0 login=root name=Charlie Root
sender address = root@scud.foo.co.uk
Address testing: uid=0 gid=6 euid=0 egid=6
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Testing mail@foo.co.uk
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Considering mail@foo.co.uk
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
routing mail@foo.co.uk
--------> dnslookup router <--------
local_part=mail domain=foo.co.uk
checking domains
search_open: dsearch "/usr/local/etc/exim/virtual"
search_find: file="/usr/local/etc/exim/virtual"
  key="foo.co.uk" partial=-1 affix=NULL starflags=0
LRU list:
  4/usr/local/etc/exim/virtual
  End
internal_search_find: file="/usr/local/etc/exim/virtual"
  type=dsearch key="foo.co.uk"
file lookup required for foo.co.uk
  in /usr/local/etc/exim/virtual
lookup yielded: foo.co.uk
foo.co.uk in "@:localhost:dsearch;/usr/local/etc/exim/virtual"? yes (matched "dsearch;/usr/local/etc/exim/virtual")
data from lookup saved for cache for +local_domains: foo.co.uk
foo.co.uk in "! +local_domains"? no (matched "! +local_domains")
dnslookup router skipped: domains mismatch
--------> vdom_aliases router <--------
local_part=mail domain=foo.co.uk
checking domains
search_open: dsearch "/usr/local/etc/exim/virtual"
  cached open
search_find: file="/usr/local/etc/exim/virtual"
  key="foo.co.uk" partial=-1 affix=NULL starflags=0
LRU list:
  4/usr/local/etc/exim/virtual
  End
internal_search_find: file="/usr/local/etc/exim/virtual"
  type=dsearch key="foo.co.uk"
cached data used for lookup of foo.co.uk
  in /usr/local/etc/exim/virtual
lookup yielded: foo.co.uk
foo.co.uk in "dsearch;/usr/local/etc/exim/virtual"? yes (matched "dsearch;/usr/local/etc/exim/virtual")
calling vdom_aliases router
rda_interpret (string): ${expand:${lookup{$local_part}lsearch*@{/usr/local/etc/exim/virtual/$domain}}}
search_open: lsearch "/usr/local/etc/exim/virtual/foo.co.uk"
search_find: file="/usr/local/etc/exim/virtual/foo.co.uk"
  key="mail" partial=-1 affix=NULL starflags=2
LRU list:
  :/usr/local/etc/exim/virtual/foo.co.uk
  4/usr/local/etc/exim/virtual
  End
internal_search_find: file="/usr/local/etc/exim/virtual/foo.co.uk"
  type=lsearch key="mail"
file lookup required for mail
  in /usr/local/etc/exim/virtual/foo.co.uk
lookup yielded: foo
expanded: foo
file is not a filter file
parse_forward_list: foo
extract item: foo
vdom_aliases router generated foo@scud.foo.co.uk
  errors_to=NULL transport=NULL
  uid=unset gid=unset home=NULL
routed by vdom_aliases router
  envelope to: mail@foo.co.uk
  transport: <none>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Considering foo@scud.foo.co.uk
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
routing foo@scud.foo.co.uk
--------> dnslookup router <--------
local_part=foo domain=scud.foo.co.uk
checking domains
scud.foo.co.uk in "@:localhost:dsearch;/usr/local/etc/exim/virtual"? yes (matched "@")
scud.foo.co.uk in "! +local_domains"? no (matched "! +local_domains")
dnslookup router skipped: domains mismatch
--------> vdom_aliases router <--------
local_part=foo domain=scud.foo.co.uk
checking domains
search_open: dsearch "/usr/local/etc/exim/virtual"
  cached open
search_find: file="/usr/local/etc/exim/virtual"
  key="scud.foo.co.uk" partial=-1 affix=NULL starflags=0
LRU list:
  4/usr/local/etc/exim/virtual
  :/usr/local/etc/exim/virtual/foo.co.uk
  End
internal_search_find: file="/usr/local/etc/exim/virtual"
  type=dsearch key="scud.foo.co.uk"
file lookup required for scud.foo.co.uk
  in /usr/local/etc/exim/virtual
lookup failed
scud.foo.co.uk in "dsearch;/usr/local/etc/exim/virtual"? no (end of list)
vdom_aliases router skipped: domains mismatch
--------> procmail router <--------
local_part=foo domain=scud.foo.co.uk
checking domains
cached yes match for +local_domains
cached lookup data = NULL
scud.foo.co.uk in "+local_domains"? yes (matched "+local_domains" - cached)
checking for local user
seeking password data for user "foo": cache not available
getpwnam() succeeded uid=1001 gid=1001
R: procmail for foo@scud.foo.co.uk
checking require_files
seeking password data for user "foo": using cached result
getpwnam() succeeded uid=1001 gid=1001
check subsequent files for access by foo
file check: ${if exists{/etc/procmailrc}{/etc/procmailrc}{${home}/.procmailrc}}
expanded file: /home/foo/.procmailrc
stat() yielded 0
route_check_access(/home/foo/.procmailrc,1001,1001,4)
stat /usr
stat /usr/home
stat /usr/home/foo
stat /usr/home/foo/.procmailrc
route_check_access() succeeded
file check: +/usr/local/bin/procmail
expanded file: /usr/local/bin/procmail
stat() yielded 0
route_check_access(/usr/local/bin/procmail,1001,1001,4)
stat /usr
stat /usr/local
stat /usr/local/bin
stat /usr/local/bin/procmail
route_check_access() succeeded
calling procmail router
procmail router called for foo@scud.foo.co.uk
  domain = scud.foo.co.uk
set transport procmail_pipe
queued for procmail_pipe transport: local_part = foo
domain = scud.foo.co.uk
  errors_to=NULL
  domain_data=NULL localpart_data=NULL
routed by procmail router
  envelope to: foo@scud.foo.co.uk
  transport: procmail_pipe
foo@scud.foo.co.uk
    <-- mail@foo.co.uk
  router = procmail, transport = procmail_pipe
search_tidyup called
>>>>>>>>>>>>>>>> Exim pid=84372 terminating with rc=0 >>>>>>>>>>>>>>>>


Here is a cat from my .forward file and my .procmailrc:

(foo@scud)-(23:51:57)-(~)
$ cat .forward
|exec /usr/local/bin/procmail -f- /home/foo/.procmailrc
(foo@scud)-(23:53:30)-(~)
$ cat .procmailrc
#----------------------------------------------------------------------#
# Your procmail logfile will grow rapidly so remember to comment out
# the first line "LOGFILE=$HOME/.procmailrc.log" once you've verified
# that procmail is performing as expected

LOGFILE=$HOME/.procmailrc.log
VERBOSE=yes
COMSAT=no
MAILDIR=$HOME/Maildir
PATH=/usr/local/bin:/usr/bin

#---------------------------------------------------------------------#

# (part 1)
# The following entries will invoke spamassassin to catch SPAM
# and put into "caughtspam" folder in your Mail directory. You can go
# through the "caughtspam" folder using pine or mutt and remove the
# messages there.  The 2nd line "* < 25600" is to scan messages less
# than 256KB only.  You can comment out the 2nd line if you want to
# scan all messages.

:0fw:spamassassin.lock
* < 256000
| /usr/local/bin/spamc

:0:
* ^X-Spam-Status: Yes
.Spam

#---------------------------------------------------------------------#
# (part 2)
# Add your own filtering commands here, if you want.
#---------------------------------------------------------------------#

#---------------------------------------------------------------------#

# (part 3) How to set up vacation message

#   1. No need to set up .forward file if you use this method.
#   2. Prepare .vacation.msg in your home directory.
#   3. Run "vacation -I" command.
#   4. Uncomment the 2 lines below (Did you replace your_loginname with yours?)
#   5. Remember to comment out the 2 lines when you come back from vacation.

#:0 c
#| /usr/bin/vacation your_loginname


Here is the header from the failed mail:

X-Message-Status: sF:0
X-SID-PRA: Mail Delivery System <Mailer-Daemon@scud.foo.co.uk>
X-Message-Info: txF49lGdW434iBjPR2JS8MpohOUUHEFgM3S9sx4cKJUaAbUw+azooK8aUZoymK6P
Received: from scud.foo.co.uk ([212.74.113.130]) by bay0-mc3-f3.bay0.hotmail.com with Microsoft SMTPSVC(6.0.3790.2668);
       Sun, 29 Jul 2007 15:49:05 -0700
Received: from mailnull by scud.foo.co.uk with local (Exim 4.67 (FreeBSD))
      id 1IFHWz-000Lwj-NS
      for foo@hotmail.com; Sun, 29 Jul 2007 23:46:33 +0100
X-Failed-Recipients: foo@scud.foo.co.uk
Auto-Submitted: auto-replied
From: Mail Delivery System <Mailer-Daemon@scud.foo.co.uk>
To: foo@hotmail.com
Subject: Mail delivery failed: returning message to sender
Message-Id: <E1IFHWz-000Lwj-NS@scud.foo.co.uk>
Date: Sun, 29 Jul 2007 23:46:33 +0100
Return-Path: <>
X-OriginalArrivalTime: 29 Jul 2007 22:49:05.0492 (UTC) FILETIME=[AA8D1940:01C7D232]

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:

  foo@scud.foo.co.uk
    (generated from mail@foo.co.uk)
    local delivery failed

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

Return-path: <foo@hotmail.com>
Received: from bay0-omc3-s14.bay0.hotmail.com ([65.54.246.214])
      by scud.foo.co.uk with esmtp (Exim 4.67 (FreeBSD))
      (envelope-from <foo@hotmail.com>)
      id 1IFHWw-000Lwe-91
      for mail@foo.co.uk; Sun, 29 Jul 2007 23:46:33 +0100
Received: from BAY126-W11 ([65.55.131.46]) by bay0-omc3-s14.bay0.hotmail.com with Microsoft SMTPSVC(6.0.3790.2668);
       Sun, 29 Jul 2007 15:48:54 -0700
Message-ID: <BAY126-W11B94C791CD2E6DF5207CAAAED0@phx.gbl>
Content-Type: multipart/alternative;
      boundary="_998b3643-0801-429b-a7da-86de8112fca0_"
X-Originating-IP: [212.74.112.53]
From: Rik Bignell <foo@hotmail.com>
To: mail <mail@foo.co.uk>
Subject: TEST2350
Date: Sun, 29 Jul 2007 23:48:54 +0100
Importance: Normal
MIME-Version: 1.0
X-OriginalArrivalTime: 29 Jul 2007 22:48:55.0096 (UTC) FILETIME=[A45ACB80:01C7D232]

--_998b3643-0801-429b-a7da-86de8112fca0_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

TEST2350
_________________________________________________________________
Feel like a local wherever you go with BackOfMyHand.com
http://www.backofmyhand.com=

--_998b3643-0801-429b-a7da-86de8112fca0_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<style>
P
{
margin:0px;
padding:0px
}
body
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body>TEST2350<br /><hr />Email straight to your blog, upload jokes, photos=
 and more.  <a href=3D'http://specials.uk.msn.com/spaces/default.aspx ' tar=
get=3D'_new'>Windows Live Spaces, it's FREE!</a></body>
</html>=

--_998b3643-0801-429b-a7da-86de8112fca0_--
</
0
bignellrp
Asked:
bignellrp
  • 5
  • 4
1 Solution
 
NopiusCommented:
1) What is in your $HOME/.procmailrc.log ?
2) Are you sure, that $HOME is the same when you do 'sudo' and when procmail is called from exim daemon?

Please change $HOME to absolute path and try again.
0
 
bignellrpAuthor Commented:
Done but mails still bouncing :(

Changed $HOME to absolute in 2 places....in my exim router and in the .procmailrc

For example:

LOGFILE=/home/foo/.procmailrc.log
VERBOSE=yes
COMSAT=no
MAILDIR=/home/foo/Maildir
PATH=/usr/local/bin:/usr/bin


.procmailrc.log is empty


If i run the exim debug command without sudo heres what i get:

$ exim -bt -d mail@foo.co.uk
Exim version 4.67 (FreeBSD 6.2) uid=1001 gid=1001 pid=92424 D=fbb95cfd
Probably Berkeley DB version 1.8x (native mode)
Support for: crypteq iconv() IPv6 use_setclassresources PAM Perl OpenSSL Content_Scanning Old_Demime
Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dnsdb dsearch nis nis0 passwd
Authenticators: cram_md5 plaintext spa
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore/mbx autoreply lmtp pipe smtp
Fixed never_users: 0
Size of off_t: 8
changed uid/gid: forcing real = effective
  uid=0 gid=1001 pid=92424
  auxiliary group list: 1001
seeking password data for user "mailnull": using cached result
getpwnam() succeeded uid=26 gid=26
seeking password data for user "root": cache not available
getpwnam() succeeded uid=0 gid=0
configuration file is /usr/local/etc/exim/configure
log selectors = 00000ffc 00212001
exim: debugging permission denied
0
 
NopiusCommented:
Hi again, bignellrp.

I've configured similar mail host.

As I can see in /var/log/exim/maillog I have problems with .forward file:

2007-08-01 12:01:16 1IG2aN-00056n-NP ** |exec /usr/local/bin/procmail -f- /home/artyomk/.procmailrc (artyomk@nec) <test@mydomain.com> R=userforward T=address_pipe: "exec" command not found for address_pipe transport

when we change it to "|/usr/local/bin/procmail ..."

2007-08-01 12:33:22 1IG35M-0007Gi-29 == artyomk@nec <test@mydomain.com> R=procmail defer (-30): transport "procmail_pipe" not found in procmail router


Then I add procmail_pipe (after address_pipe):

address_pipe:
  driver = pipe
  return_output

procmail_pipe:
  debug_print = "T: procmail_pipe for $local_part@$domain"
  driver = pipe
  path = "/bin:/usr/bin:/usr/local/bin"
  command = "/usr/local/bin/procmail"
  return_path_add
  delivery_date_add
  envelope_to_add

...


Now logs seems OK:
/var/log/exim/maillog:
2007-08-01 12:53:55 1IG3PK-0009aB-PQ => artyomk <test@mydomain.com> R=procmail T=procmail_pipe
2007-08-01 12:53:55 1IG3PK-0009aB-PQ Completed


/home/artyomk/.procmail.log:
procmail: [36842] Wed Aug  1 12:53:55 2007
procmail: Assigning "COMSAT=no"
procmail: Assigning "COMSAT=no"
procmail: Assigning "MAILDIR=/home/artyomk/Maildir"
procmail: Assigning "PATH=/usr/local/bin:/usr/bin"
procmail: No match on "^X-Spam-Status: Yes"
procmail: Bypassed locking "/var/mail/artyomk.lock"
procmail: Assigning "LASTFOLDER=/var/mail/artyomk"
procmail: Opening "/var/mail/artyomk"
procmail: Acquiring kernel-lock
From root@localhost Wed Aug 01 12:53:55 2007
 Subject: test
  Folder: /var/mail/artyomk

I can see message in /var/mail/artyomk.

I don't have SpamAssasin, and line with 'spamc' in .procmailrc is commended here. But having logfiles debugging becomes more simple.
0
NFR key for Veeam Backup for Microsoft Office 365

Veeam is happy to provide a free NFR license (for 1 year, up to 10 users). This license allows for the non‑production use of Veeam Backup for Microsoft Office 365 in your home lab without any feature limitations.

 
bignellrpAuthor Commented:
This is the error from my exim's mainlog:
2007-07-31 22:05:29 1IFyuD-000OGY-Nl ** foo@scud.foo.co.uk <mail@foo.co.uk> R=procmail T=procmail_pipe: Child process of p
rocmail_pipe transport returned 127 (could mean unable to exec or command does not exist) from command: /usr/bin/procmail

So i changed my .forward as you suggested and test a test but still the same error:

$ cat .forward
|/usr/local/bin/procmail -f- /home/foo/.procmailrc

2007-08-01 07:13:15 1IG7SK-000P6a-8n <= foo@hotmail.com H=bay0-omc3-s17.bay0.hotmail.com [65.54.246.217] P=esmtp S=1584 id=BAY126-W413F8E4D25B6AC14BF8539AAE80@phx.gbl
2007-08-01 07:13:15 1IG7SK-000P6a-8n ** foo@scud.foo.co.uk <mail@foo.co.uk> R=procmail T=procmail_pipe: Child process of procmail_pipe transport returned 127 (could mean unable to exec or command does not exist) from command: /usr/bin/procmail
2007-08-01 07:13:15 1IG7SN-000P7F-Hc <= <> R=1IG7SK-000P6a-8n U=mailnull P=local S=2518
2007-08-01 07:13:15 1IG7SK-000P6a-8n Completed
2007-08-01 07:13:16 1IG7SN-000P7F-Hc => foo@hotmail.com R=dnslookup T=remote_smtp H=mx4.hotmail.com [65.54.245.104]
2007-08-01 07:13:16 1IG7SN-000P7F-Hc Completed

Now i moved my procmail_pipe in my exim conf to be after the address_pipe as suggested:

address_pipe:
  driver = pipe
  return_output

procmail_pipe:
  debug_print = "T: procmail_pipe for $local_part@$domain"
  driver = pipe
  path = "/bin:/usr/bin:/usr/local/bin"
  command = "/usr/bin/procmail"
  return_path_add
  delivery_date_add
  envelope_to_add

But still the mails bounce.

I tailed the mainlog as i sent a test mail and watched the following come up as i got the bounce (the below is after all the above changes made) Hopefully this output from the exim log will help us locate the problem:

2007-08-01 07:22:52 1IG7bc-000PiR-Vd <= foo@hotmail.com H=bay0-omc3-s16.bay0.hotmail.com [65.54.246.216] P=esmtp S=1642 id=BAY126-W11F20DFAF8255193AE8A1FAAE80@phx.gbl
2007-08-01 07:22:52 1IG7bc-000PiR-Vd ** foo@scud.foo.co.uk <mail@foo.co.uk> R=procmail T=procmail_pipe: Child process of procmail_pipe transport returned 127 (could mean unable to exec or command does not exist) from command: /usr/bin/procmail
2007-08-01 07:22:52 1IG7bg-000Pj5-8q <= <> R=1IG7bc-000PiR-Vd U=mailnull P=local S=2576
2007-08-01 07:22:52 1IG7bc-000PiR-Vd Completed
2007-08-01 07:22:53 1IG7bg-000Pj5-8q => foo@hotmail.com R=dnslookup T=remote_smtp H=mx4.hotmail.com [65.54.244.104]
2007-08-01 07:22:53 1IG7bg-000Pj5-8q Completed
0
 
bignellrpAuthor Commented:
ok...i'm getting somewhere.  I asked someone at work to look at my mainlog and they pointed out that my procmail transport was pointing to "/usr/bin/procmail" instead of "/usr/local/bin/procmail"

But the problem is now, my mail is going to /var/mail/foo

Here is the procmailrc.log thats now being populated:

$ less .procmailrc.log
procmail: [1045] Wed Aug  1 07:32:08 2007
procmail: Assigning "COMSAT=no"
procmail: Assigning "COMSAT=no"
procmail: Assigning "MAILDIR=/home/foo/Maildir"
procmail: Assigning "PATH=/usr/local/bin:/usr/bin"
procmail: Match on "< 256000"
procmail: Locking "spamassassin.lock"
procmail: Executing "/usr/local/bin/spamc"
procmail: [1045] Wed Aug  1 07:32:17 2007
procmail: Unlocking "spamassassin.lock"
procmail: No match on "^X-Spam-Status: Yes"
procmail: Bypassed locking "/var/mail/foo.lock"
procmail: Assigning "LASTFOLDER=/var/mail/foo"
procmail: Opening "/var/mail/foo"
procmail: Acquiring kernel-lock
From foo@hotmail.com Wed Aug 01 07:32:08 2007
 Subject: TEST0735
  Folder: /var/mail/foo

If i can fix the above im sorted :)
0
 
NopiusCommented:
> But the problem is now, my mail is going to /var/mail/rbignell

Where do you like to put your mail?

/var/mail/user is a common place for local mail.
0
 
NopiusCommented:
I just tested spam message filtering (With a header "X-Spam-Status: Yes") and it was delivered correctly to $HOME/Maildir/.Spam :

procmail: [37897] Wed Aug  1 21:17:52 2007
procmail: Assigning "COMSAT=no"
procmail: Assigning "COMSAT=no"
procmail: Assigning "MAILDIR=/home/artyomk/Maildir"
procmail: Assigning "PATH=/usr/local/bin:/usr/bin"
procmail: Match on "^X-Spam-Status: Yes"
procmail: Locking ".Spam.lock"
procmail: Assigning "LASTFOLDER=.Spam/msg.sBPF"
procmail: Opening ".Spam/msg.sBPF"
procmail: Acquiring kernel-lock
procmail: Unlocking ".Spam.lock"
From root@localhost Wed Aug 01 21:17:52 2007
 Subject: test
  Folder: .Spam/msg.sBPF
0
 
bignellrpAuthor Commented:
Thanks for your help Nopius.  I managed to figure out why my mail wasn't going to the correct box....i didnt have a default.  Added the below lines to my procmailrc and everything works great.  I've accept the answer that showed the debugging on the exim Mainlog as this was the step that helped me find the answer to the original solution.

MAILDIR=/home/foo/Maildir/new
DEFAULT=/home/foo/Maildir/new
# Save all remaining messages to DEFAULT
        :0:
        $DEFAULT


Thanks again.

Rik
0
 
NopiusCommented:
Thank you for points, bignellrp.
Have a nice day.
0

Featured Post

Upgrade your Question Security!

Add Premium security features to your question to ensure its privacy or anonymity. Learn more about your ability to control Question Security today.

  • 5
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now