Navigation

    Kopano
    • Register
    • Login
    • Search
    • Categories
    • Get Official Kopano Support
    • Recent
    Statement regarding the closure of the Kopano community forum and the end of the community edition

    Create a rule for a user via command-line

    Kopano Groupware Core
    4
    18
    4496
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • robing
      robing Kopano (Inactive) last edited by robing

      Hi Kruemel,

      You can use this if the mails is only sent to you

      python kopano-rules.py --user user1 --create firstrule --conditions "sent-only-to-me"  --actions "forward-to:user2@kopano.com"
      

      Or if your name is into ‘to’ or ‘cc’ field

      python kopano-rules.py --user user1 --create firstrule --conditions "name-in-to-cc"  --actions "forward-to:user2@kopano.com"
      

      You can see all the options in https://stash.kopano.io/projects/KSC/repos/core-tools/browse
      Please be aware that listing a rule with name-in-to-cc will shown correctly but it is working.

      Regards,

      Robin

      Regards Robin,

      Need support?
      Have a look at https://kopano.com/support/ for options.

      Helpful resources:
      https://kopano.com/blog/how-to-get-kopano/
      https://documentation.kopano.io/
      https://kb.kopano.io/

      1 Reply Last reply Reply Quote 1
      • kruemel
        kruemel last edited by

        Hi Robin,

        Thank you for your help.

        Cheers
        kruemel

        1 Reply Last reply Reply Quote 0
        • Coffee_is_life
          Coffee_is_life last edited by Coffee_is_life

          Hello Forum,

           python kopano-rules.py --user username --create Forward-Mail --conditions "received-from:user.name@domain" --actions "forward-to:schaden@domain"
          

          gives me this:

          Traceback (most recent call last):
            File "kopano-rules.py", line 837, in <module>
              main()
            File "kopano-rules.py", line 831, in main
              rowlist = createrule(options, lastid)
            File "kopano-rules.py", line 604, in createrule
              username = searchusername(server, tmpname)
            File "kopano-rules.py", line 56, in searchusername
              if str(user.fullname) == name:
          UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 4: ordinal not in range(128)
          
          

          The first rule i created was successful:

          python kopano-rules.py --user user --create Send-To-Schaden --conditions "received-from:user.name@domain" --actions "forward-to:schaeden@domain"  
          

          But i forward to “schaeden@”, not to “schaden@”

          After that i did

          python kopano-rules.py --user username --list
          +--------+--------------------------------------------+-----------+--------------------------------------------+---------+
          | Number | Name                                       | Condition | Action                                     | State   |
          +--------+--------------------------------------------+-----------+--------------------------------------------+---------+
          | 1      | Kategorien der E-Mails l?schen (empfohlen) |           |                                            | Enabled |
          | 2      | Send-To-Schaden                            |           | Forward message to schaeden@domain         | Enabled |
          +--------+--------------------------------------------+-----------+--------------------------------------------+---------+
          
          
          python kopano-rules.py --user username --rule 2 --state delete
          

          tried again (with same rulename and after that with another name) but run into this error

          Coffee_is_life

          1 Reply Last reply Reply Quote 0
          • Coffee_is_life
            Coffee_is_life last edited by Coffee_is_life

            I think i fixed it :)

            around line 55:

            def searchusername(server, name):
                for user in server.users():
            #        if str(user.fullname) == name:
                    if (user.fullname).encode('utf-8') == name:
                        return user
            

            just add the utf-8 encoding.

            Now i can create rules again, but it seems the arent working…

            +--------+--------------------------------------------+-----------+--------------------------------------------------+---------+
            | Number | Name                                       | Condition | Action                                           | State   |
            +--------+--------------------------------------------+-----------+--------------------------------------------------+---------+
            | 1      | Kategorien der E-Mails l?schen (empfohlen) |           |                                                  | Enabled |
            | 2      | ForwardSchaden                             |           | Forward message to another.user@DOMAIN.DE        | Enabled |
            +--------+--------------------------------------------+-----------+--------------------------------------------------+---------+
            

            But this other user cant receive this mail… the conditikon was:

            --conditions "received-from:this.user@DOMAIN.de"
            

            The whole line was:

            python kopano-rules.py --user thisuser --create ForwardSchaden --conditions "received-from:this.user@this-domain.de" --actions "forward-to:another.user@this-domain.de"
            

            this user is currenty in holyday, should i use another condition because maybe this rule whould do something if the user actually receive this mail?

            Coffee_is_life

            1 Reply Last reply Reply Quote 0
            • Coffee_is_life
              Coffee_is_life last edited by Coffee_is_life

              OK, this rules wont wotrk but i dont know why…

              i got 3 Rules already:

              +--------+--------------------------------------------+-------------------------------+--------------------------------------------------+---------+
              | Number | Name                                       | Condition                     | Action                                           | State   |
              +--------+--------------------------------------------+-------------------------------+--------------------------------------------------+---------+
              | 1      | Kategorien der E-Mails l?schen (empfohlen) |                               |                                                  | Enabled |
              | 2      | ForwardSchaden                             |                               | Forward message to another.user@this-domain.de   | Enabled |
              | 3      | ForwardSchaden2                            | When my name is in the To box | Forward message to another.user@this-domain.de   | Enabled |
              |        |                                            |                               |                                                  |         |
              | 4      | ForwardSchaden3                            |                               | Forward message to another.user@this-domain.de   | Enabled |
              +--------+--------------------------------------------+-------------------------------+--------------------------------------------------+---------+
              

              First (index 2) is with condition: recieved-from:this.user@this-domain.de
              second one (index 3) is with name-in-to:this.user@this-domain.de
              the third one (index 4) is with sent-to:this.user@this-domain.de

              But in dagent.log:

              Wed Jun  7 08:58:47 2017: [info   ] [ 2837] Delivered message to 'mailarchiv', Subject: "Test Weiterleitung die 3te", Message-Id: <kcim.5937a426.b11.391241d34aab31ff@mailserver.this-domain.de>, size 3607
              Wed Jun  7 08:58:47 2017: [info   ] [ 2837] Mail will be delivered in Inbox
              Wed Jun  7 08:58:47 2017: [info   ] [ 2837] * PreDelivery processing started
              Wed Jun  7 08:58:47 2017: [info   ] [ 2837] * PreDelivery processing done
              Wed Jun  7 08:58:47 2017: [info   ] [ 2837] * PreRuleProcess processing started
              Wed Jun  7 08:58:47 2017: [info   ] [ 2837] * PreRuleProcess processing done
              Wed Jun  7 08:58:47 2017: [info   ] [ 2837] Rule Kategorien der E-Mails l?schen (empfohlen) doesn't match: 0x8004010f
              Wed Jun  7 08:58:47 2017: [info   ] [ 2837] Rule ForwardSchaden doesn't match: 0x8004010f
              Wed Jun  7 08:58:47 2017: [info   ] [ 2837] Rule ForwardSchaden2 doesn't match: 0x8004010f
              Wed Jun  7 08:58:47 2017: [info   ] [ 2837] Rule ForwardSchaden3 doesn't match: 0x8004010f
              Wed Jun  7 08:58:47 2017: [info   ] [ 2837] Starting autoresponder for out-of-office message
              

              someone a hint?

              //EDIT:
              i’ve deleted the rules (they wont work anyways) and now i get this:

              Traceback (most recent call last):
                File "kopano-rules.py", line 838, in <module>
                  main()
                File "kopano-rules.py", line 832, in main
                  rowlist = createrule(options, lastid)
                File "kopano-rules.py", line 786, in createrule
                  returncon = storeconditions[0]
              IndexError: list index out of range
              

              cant even create rules now…
              //EDIT2:

              if len(storeconditions) > 1:
                      #returncon = SOrRestriction(storeconditions)
                      returncon = SAndRestriction(storeconditions)
                  else:
                      print( len(storeconditions) )    -  line added
                      print(", " .join(storeconditions))  -  line added
                      returncon = storeconditions[0]
              

              The length returns 0
              the array itself doenst contain vars.

              Coffee_is_life

              1 Reply Last reply Reply Quote 0
              • robing
                robing Kopano (Inactive) last edited by

                Hi Coffee_is_life,

                Can you try the new version.
                Removed the GAB check what was causing the unicode error, wasn’t needed anymore
                It will now also print the condition ‘received-from’.

                No idea what is causing the IndexError can you add ‘print storeconditions’ before line 786

                Regards,

                Robin

                Regards Robin,

                Need support?
                Have a look at https://kopano.com/support/ for options.

                Helpful resources:
                https://kopano.com/blog/how-to-get-kopano/
                https://documentation.kopano.io/
                https://kb.kopano.io/

                1 Reply Last reply Reply Quote 0
                • Coffee_is_life
                  Coffee_is_life last edited by

                  i already did:

                  print(", " .join(storeconditions))  -  line added
                  

                  is prints nothing, not even a ", " - so i think its empty
                  length returns 0

                  the new version works without unicode-error - check
                  but i recieve the IndexError aswell

                  Coffe_is_life

                  1 Reply Last reply Reply Quote 0
                  • robing
                    robing Kopano (Inactive) last edited by

                    Did you add an condition?
                    without --conditions

                    python kopano-rules.py --user user1 --create ForwardSchaden  --actions "forward-to:user3@mailtje.nu"
                    Traceback (most recent call last):
                      File "kopano-rules.py", line 839, in <module>
                        main()
                      File "kopano-rules.py", line 833, in main
                        rowlist = createrule(options, lastid)
                      File "kopano-rules.py", line 786, in createrule
                        returncon = storeconditions[0]
                    IndexError: list index out of range
                    

                    Regards Robin,

                    Need support?
                    Have a look at https://kopano.com/support/ for options.

                    Helpful resources:
                    https://kopano.com/blog/how-to-get-kopano/
                    https://documentation.kopano.io/
                    https://kb.kopano.io/

                    1 Reply Last reply Reply Quote 0
                    • Coffee_is_life
                      Coffee_is_life last edited by Coffee_is_life

                      @Coffee_is_life said in Create a rule for a user via command-line:

                      python kopano-rules.py --user thisuser --create ForwardSchaden --conditions “received-from:this.user@this-domain.de” --actions “forward-to:another.user@this-domain.de”

                      python kopano-rules.py --user thisuser --create ForwardSchaden --conditions "received-from:this.user@this-domain.de" --actions "forward-to:another.user@this-domain.de"
                      

                      same with sent-to, name-in-to, name-in-to-cc…

                      //edit
                      i tried with --conditions “name-in-t-cc” without an email…
                      Should i use the mail, name or username for this “name in to or cc”?

                      //edit2 : ups :) should use '–condition “received-from:this.user@this-domain.de” and it works :)

                      had just the condition because i thought “name in to or cc” doesn’t need a name/user or mail behind it :)

                      my bad

                      ///EDIT3
                      BUT:

                      python kopano-rules.py --user my_username --create TEST --conditions "name-in-to-cc:my.user@this-domain.de;has-attachment" --exceptions "contain-word-sender-address:Ticketsystem" --actions "forward-to:another-user@this-domain.de"
                      

                      gives:

                      Traceback (most recent call last):
                        File "kopano-rules.py", line 839, in <module>
                          main()
                        File "kopano-rules.py", line 833, in main
                          rowlist = createrule(options, lastid)
                        File "kopano-rules.py", line 770, in createrule
                          storeexceptions.append(SNotRestriction(exceptionslist[0]))
                      IndexError: list index out of range
                      
                      

                      Coffee_is_life

                      1 Reply Last reply Reply Quote 0
                      • robing
                        robing Kopano (Inactive) last edited by

                        Your are right ‘name-in-to-cc’ shouldn’t have a name /mail behind it, will fix it.

                        Will also check why exceptions is not working,

                        Can’t promise to fix it this week.

                        Robin

                        Regards Robin,

                        Need support?
                        Have a look at https://kopano.com/support/ for options.

                        Helpful resources:
                        https://kopano.com/blog/how-to-get-kopano/
                        https://documentation.kopano.io/
                        https://kb.kopano.io/

                        1 Reply Last reply Reply Quote 0
                        • Coffee_is_life
                          Coffee_is_life last edited by Coffee_is_life

                          I’ve set the rule now via the users webapp - so dont rush it :)

                          feel free to text me if you need a test-subject :)

                          //EDIT: btw in https://stash.kopano.io/projects/KSC/repos/core-tools/browse the delete-items section has “localize-folders.py” instead of “delete-items.py”
                          and the “create rule with multiple conditions”-example should switch with “create rule with one condition”-example :)

                          Coffee_is_life

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post