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

    access addresses from external?

    General Discussion
    2
    11
    2593
    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.
    • fbartels
      fbartels Kopano @shcshc last edited by

      Hi @shcshc ,

      there is no ready made solution (or api or interface) for this. Your best choice to achieve what you are searching for is implementing this in python-kopano.

      Regards Felix

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

      Support overview:
      https://kopano.com/support/

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

        thank you. it works! great thing

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

          how can i get the photo from contact item?

          fbartels 1 Reply Last reply Reply Quote 0
          • fbartels
            fbartels Kopano @shcshc last edited by fbartels

            Hi @shcshc ,

            there is currently no builtin way to easily get the associated picture of a contact. I’ve spoken to one of the developers and he added to his todo list to investigate this a bit.

            Edit:

            I got the following example from the developer:

            from MAPI.Tags import PR_ATTACHMENT_CONTACTPHOTO
            import kopano
            for item in kopano.user('user1').contacts:
                print item
                for att in item.attachments():
                    if att.get_value(PR_ATTACHMENT_CONTACTPHOTO):
                        print 'CONTACTPHOTO:', att, repr(att.data)[:256]
            

            He also adds:

            unfortunately it’s a bit of a hassle to get out all the properties, so something like item.vcf() might be easier, although I’m not sure how complete that is (for example, does it include the contactphoto, no idea)

            Have you already looked at the vcf exporter? what is your current approach, are you reading out individual properties and writing them over in mysql/ldap?

            Edit2:

            just in case you are not aware of it already:

            for prop in item:
                print prop, prop.value
            

            dumps all the properties of a given item. this will give you probably a lot of stuff you don’t need, but gives you an easy overview of all the available properties.

            Regards Felix

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

            Support overview:
            https://kopano.com/support/

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

              thank you very mutch.
              can you tell me how i can insert “repr(att.data)[:256]” to mysql blob filed?

              i know its mysql…

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

                i need att.data in binär variable for
                INSERT INTO Adressen (Bild) VALUES (att.data)

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

                  now i use LOAD_FILE(File) in mysql to load image to mysql.
                  but the data in File is not OK. how can i save the data to file in right format?

                  1 Reply Last reply Reply Quote 0
                  • shcshc
                    shcshc last edited by fbartels

                    i save the picture like this:

                    prop_PR_HASATTACH=item.get_value(PR_HASATTACH)
                    if prop_PR_HASATTACH == True:
                    for att in item.attachments():
                    if att.get_value(PR_ATTACHMENT_CONTACTPHOTO):
                    prop_contact_picture=att.data
                    with open("/tmp/bild.jpg", “wb”) as mypicklefile:
                    pickle.dump(prop_contact_picture, mypicklefile)

                    but the file data is not bin:

                    S'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00\x01\x00\x01\x00\x00\xff\xdb\x00C\x00\x02\x01\x01\x01\x01\x01\x02\x01\x01\x01\x02\x02\x02\x02\x02\x04\x03\x02\x02\x02\x02\x05\x04\x04\x03\x04\x06\x05\x06\x06\x06\x05\x06\x06\x06\x07\t\x08\x06\x07\t\x07\x06\x06\x08\x0b\x08\t\n\n\n\n\n\x06\x08\x0b\x0c\x0b\n\x0c\t\n\n\n\xff\xdb\x00C\x01\x02\x02\x02\x02\x02\x02\x05\x03\x03\x05\n\x07\x06\x07\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\xff\xc0\x00\x11\x08\x00`\x00M\x03\x01"\x00\x02\x11\x01\x03\x11\x01\xff\xc4\x00\x1e\x00\x00\x01\x04\x02\x03\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x01\x03\x06\x07\x02\t\x00\x04\x05\n\xff\xc4\x00?\x10\x00\x01\x02\x04\x03\x05\x04\x07\x05\x07\x05\x01\x00\x00\x00\x00\x02\x03\x04\x00\x05\x06\x12\x01\x07"\x08\x11\x132B\x14Rb\x92\t\x15!#3r\x82\x16$1A\x81\x17%C\xa2\xc2\xd2\xe2Qac\x83\xb2\xf0\xff\xc4\x00\x1b\x01\x00\x02\x02\x03\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x06\x03\x04\x00\x01\x07\x02\xff\xc4\x00.\x11\x00\x01\x04\x00\x04\x04\x05\x02\x07\x00\x00\x00\x00\x00\x00\x00\x02\x00\x01\x03\x04\x05\x11\x12!\x13"12\x06ABq\xa1\x15a\x16Q\x91\xb1\xd1\xf0\xf1\xff\xda\x00\x0c\x03\x01\x00\x02\x11\x03\x11\x00?\x00\xdba\x7f\xa2\x800\xa3\xa4\xb5\xea\x87\x04LH\xb7\xf4\xc6i\xa7\x81\x16\xb0\xdf\xa3\xaa$\x11V\x13"\'\x88\x96\xeeQ\x845\x11\x11,1\xf6\x07YC\x13\xc9\xc4\x9e\x9a\x92\xba\xa8g\xcf\xd1h\xc1\x8bU\x1c<t\xb1Z\t\xa6\x98\x91\x11\x11t\x88\x8e\xa8\xd4n\xde>\x99\x8c\xc5\xcd\xca\x96e\x94[0"\xf1\x9d>+\x92\r\xe6\x12\xfe"N\xe6\x96\xdbqq\x04\xaeM?\x89\xa4m"\xea\xf0\xc7<\xc1\\5\x12\xb7N\x9c\xb7\x0fK-\xa6\xd6Y\xf9\x939z\xa1\xb3\xac\xf3"V\xc1d\xc4x\xa8\xac\xebP\xdd\xcbp\x8f,{\xf4\xbdUOVRq\x9d\xd2\xb3\xf6\xb3Fjr8f\xe0T\x12\xf2\xc7\xcf\xa3I\x0e\xd4\x15\x03\xa2\x9b\xd5R\xb9\xa2}\xab_\xdf\x17P\x89B/\x9bO\x9b\xcd\x16\xd6K\xe6\x96\xd6\xfb2\xd6\x8d\xa7yWX\xcc\xb1`\xe0G\xb4J\xd6\\\x94J\xe1\xe6%\x11-$%qi/\x17.\x92\x80\x9fXq>am)\x83\xf0\xd9p\xb9\x0b\x99o\r;\xc8J\xc0\x85\xe1\xee\xf6c\x8c\x0e[\r\xfaD(=\xab\x85j&}+)\x05i/\x0b\x9dJ\\\t\nO\x93\x11\x1b\x9c6"\xe9\xd5\xcb\xcc0I\xa3b\x98\x01\x9d\xa3l\x1c\xafb+Qg\x1a[\xb1ZZ\xb2\xe8\x97\xb94)\xfb1\xc3\x10\xbb\x03\xea\x8e\n\'\xbb\xe2a\xfa\x16\xf8tS\xb5B\xc4}\xb0\xa9\x85\xc4X\xdb\xf9\xc4\xea\x04\x82\x98\t\xf3\x8d\xbd\xd8\xe5\xa9\x7f\xf6\x10\xa2;\xb7\x99\xfe\x1d\xe1\x8c\x87P\xe2\x98cv1\xb6\xea\xa2\xcd\x96\xb6}6\x1b\\f\x13Y\xc1l\xa3\x9637\x12\xe6jKEz\x95\xf3W\n\x018\xe2]\xf7R!\xb7\xdd\x8av\xa8\\\xd7q\x04t\xdb\xaa\x97\xd8\xbbd\xbab\x9d\x906\xaf&\xb2\xd4\xdcL^\x01*\x92\x84\x97\xc3O\xa6\xdf\xfdC\xdbd\xd2.s\x0bl\x8a\xd1\x83\xf3Qn%VH+\xc4\xd4B\x88\xa9\xcb\xf2\xda"0Je\xb51\xc4\x96\xa2\x88#\xb9\x14R\x10\xba\xd8F\xc6,K5\xb2\x85\xba\x0b\xae\x97\x83\xd5\x8a\xbda?\xb2q,\xbd\x93>g\xd9\x96\x96\xa6x\x10\x88\xeaJ<\x87\x99\x0bG\xa6J<\xf58\x91\xa9n\xab<Qh"\xd5\x14\x91\x10M\x1d\xc5l<H\x811<\r2\xc7\x01\r\x17j\xfab\x8cq\x91lH\xaf\x11\x07\xfbYema\x96/$\x9bWd<\xe1\xe4\xb6}D\x98\xf6\xa6\xac\xd5Px\xcdIKIM<\xd6\x89\x15\xc2\\\xc9\x91]\x1b6\xd9\x977\x9bg\xb6G\xd3y\xae\x88&%8\x97\n\x8e\x13O\x94V\x12!S\xe9\xb8K\xe9\x81\x82o!m8Ef\x0eX\t\xb6t$\x92\xa9\x90i!-13\xf4W\xb2\x98P\xf9\x7fXdS\x9cT6t\x9dM\xfb\xb9e:\x9b\xb8\x1e \x8f\xd3i\x0c\x18\xc2f(\xed0\xfe{|f\xcf\xf0\x96|AT\n\xbf\x1c{\x99\x15\t\xd8\xa1\x16\x82\x8ep\xf1\xc7\xf1\xdd\x0e\x8d\x82X\x86\xa8\xe0\xfe8\xd9\xf8o\xfc\xe1\xb9#kMp\xee\x1b/\x1bJ1]Aj8\xac\xe9a\xe1\x08\xdce\xdd\x1ba\xee\x1f\xb6\xff\x00\xce:\xb3\x89~\x13IS\xa9a\x9d\x82\xe1\xaa\x80d\x9e\x92\x1b\x87\x98|\xd1\xac\xdcz\xac\xae\xc0r\x8b\x12\xd5\x06cN$\x15&\xd9S\xb9\xac\x92l\xb7\xaaj)\xe7\xac%\xca8K\x86J\n\x827\x08\xf7\xb5\tr\xc1\x15%\x9f%I\xcb\xc3\xb7\xb6P\xf0\xb6\xd1M1\xd4Q\\\x0e\\\xc8g\x939+\x07\x92\xa15(\xb6\xed\xc8f\x8d\xf4\x10\xb8-D\x99w\x86\xdbn\x8b\x1cdr\xda\xb2\x91\x7fM\xcdx\x96\xb8K\x84\\\x17\x04\x99\x10\x96\x92\x1b\x87W\xf3G>\x9aC+de\xd5\xfa\xfb\xf9\xae\xb65\xc6 h\xc3\xb5\x95t\xebl\xf4\\UN)Vl\xe5,\xd1n|7\x0e\x9c<\x15M2\xbb\x94\x852\xb9\x1f\xfb"\xd1\xa8s*[JPG[MM\xaal\x93jG\xda\x14;R"\xfe\xd8\xac\xe4\xfb8R\xb2\xf5&\x08\xd3\x14\xabyPL\x15\x13~\xb3[\x87\xb4\x10\x90\xea\xd4\xa6\x9eQ\xf2\x8fv$UD\xb6[Ue\xfb\xba\r\xe1\xde\xcc}\xd1\xa6<\xa3u\xc3\xcd\x1eH\x9e9Y\xf3\xd9L\x11\xea\xd9\xc5C\xb2\xc3l\x069\xa1T\x1b\tk\tK\xd6\xc2\xe2\xc0q%\x99&G\xcbv\xa4IN \xf9`\x8e\xd8~\xb4\x90\xb5\xcf\xcc\xc9\xcb\xae1`\xfa`,\xe6\x8c\x93\xe1[r)\xb7DU\xd5\xf3.\x9e\x92\xef\x14\r\xf9W\x90t}\x10\xa03\x96\xd2R\xf0G\xb5v\x83p(\x08\xaa\xb2\x97iS\x88:\xbc\xb1vl\x9fK\xa1<\xdbq\xfc\xfc8\x83\xf6~\x8a\xfb\xc7\x0f\xa9E\x89\xbai\x89w\xbd\xd8\xa9\xa7\xc2=\xd8\xb9@\x89\xee\t\x07\xdb\xf8\xfd\x90\xfcV\xacg\x86\xca\xe7\xb6\x96w\xf9\xd9\x18\xc9\x91\xdb\xa07\xc3\x83\x82\x03\x8e"\xa0c\xbf\xfd\xc7t"#w?\x7f\xaa\x1d\x00\xc7~;\xb0\xc7v\xff\x00\xce\x1e\x17*L\xee\xe7\xdd\xd3\x087\x90\xdf\xdd\x8c\xb8gn\xf2\xd5\xdf"\x85!\xc4\xb4j\xf9\xa3\x16\xc5\xf2t)\xe7\x16\xcd\xf5=\x1bYOj\xdaJ\x92\xe3I\x9eq\x1e8x\x9b\xa1\xb9\x1eb!!"\xe9!.\x92\xd2Zb\x01OM}U4I\xd5\x9aI^^h2\xf3Y>&X\xd4a\x80sH\xdd|\xbf\x04\xa0\x1d\'\xc8\xa6\xf8[,\x03\x87P(\x9c)\xe34\xc6\x19FP\xf3]\x03\x03\xc4\xe6\xbd\x03\xb4\xbe\x9d\xbf\xd5\xd8\xcc\xb9\xb4\xe2\xadvRF\x0e\x16f\xd7\x8a&\xa95\xf7|M_\x0f\xe5\x88Q\x15}J\xb5s/\xfd\xa47\xec\x8e\x80\x89u\x9e$\xcd3LJ\xebDF\xd1\x1d>!\x89\xd5a\x97tfgHNUV1P\xee\x11\x12$](\x81\t]\xcc$$?TW\x15\x05\r2\xa6\xda\xa7\x96\x9e\xb5f\xdd\x82\x89p\x98\x17\xaa\x1b\xf1\xc8T\xb8K\xdf[wQuw|6\x8bs\ty\xc94U-C\xa7R\x90eIOe\xb5#\xb7\xec\xe7\xc9\xbb`\xe3\x87\x8b\xa6\xa2\xa8\x98\x8a\x9d\xe1\x1e\x9b\x86\xde_\x14\x18;&\xe59\xd1\xed\xe7\x99\x8e\xf3\x14Ej\xb9V\xaa\x88\xa7\xa9AE\x14\xc91\xb8\xbf\xa7\xfb\xa0b\xc8\xdc\x8f\xa7i\x16r\xdc\xbd\xcbzm\xab\x11t\xa8\x87\x05\x16\xb6\x92\x8a\x11jP\xbb\xdd\xef\xa6\x0f\nnN\x8d?\'m$gm\x8c\xdb\xa6\x80\x17\xca6\xc1l\x12=s9\xe9\xe5d\xa7\xe2\x8c@\x86>\x08\x17ww\xb3.\xe0\r\xb8\xe2\x17y\x8e\x14m\xdd\xbb\x1dP\xa3\xa6\xeb\xf4\x8ce\x80\xa28\xe3\x8e\x05\xf8\xf8a\xa9!&0\xc6\xdb\xb0\xdc8[\xde\x08\xc4J\xdfa\xc6\x04\xa6\x92\xf6D\x03<\xb6\xa5\xc8}\x9b\xdb\xcb\xd6\xce\x9a\xfd99\xcd\x95$\xa5mE\x9a\xceWpC\xcdjh\x89\x15\xbe"\xd3\xe2\x8c\xdb\xb9lD\x8b\x94T\'o\xad\xa9\x14\xd9\xd7/eRy\x0c\x919\xa4\xea\xb0\x9c\xb7\x945j\xb3\x8bE\x16\xeb,\x9a*\xb8+n\xbb\x86*\x0e\x9d:\x8b\xe6\x81\xf6\xa4\xa7\xe6\xa3-\x17m\x91%M=|>\xab\x7f\xb6\x07\xed\xb2\xb6\x8eu\xb4\xe6u?\xac\xe5\xa6\xb0JQHY\xd3\xc8\xa8V\xa8\x9bt\xc8\xad-=DDJxx\x96\xdd\xa6\'y3\xb6\x037m\x1a\xd3y\xa2\xd8\x9b:Ll\xf5\xd72K\x17\xfc\x83\xfc2\xfeX^\xc5u\xcb6~\x91o\xeb\xa7\x8f\x0f\xf0\xa1\x88\xa2.\xe2^\xb3\xcc\xed\xfb"\xa8\xfa\xc8\xf8D\x9e\x9f}\xd5\xf3E}\x9a\xdbIJ\xaa\xaa\xda\x9emOJ]<&\xea\xde\xaa\xc8\xa4^\xee\xdf\x17,\x12\r\xa9\xfa>\xb3\xe1\xcc\x9b"\xd5\xd2K\x08\x9aJ\'\xa8T\xf1\x0fL$\xca\x95\x93\xd3\xadlB\x98n\x0b\x17\xf1\x91HGL\x01z\xd9\x8b\xb0\xbe\xce\x98c\x98a\x93\xa6\xea\xc0\xd8&Z\xe6\xa9x\xf2\xb9\xa8d\xe4\x89\xb5HBZ\x9a\xdc\xc3u\xd7)\xe5\xb8`\xa2\x1b\x04D\xc3U\xbd1\xa6\x1d\xb46\xbe\xcc\xed\x94v\xcd\xcb\x0c\xce\xcbG\xf7a/\x978\t\xa4\xb4\x95.\x03\xa6\xea,)\xa8\x9a\xd6\xf4\x96\x9f\x94\x84Hu\x08\xc6\xd8\xf6{\xcf\xca\'h\xcc\xaf\x95fu\x18\xfd<B`\xc95W\x96\xf1\xc4\x97f\xa7R*\x0f\xcdv\xae\xa1\xd5\xd5\x0c\xd8K\x8cQp\x9f\xdd"c\xb1\x99[s\xf4\xa9\xf2e\xa6\xfc\x7f\xc6\x147\xfbw\x0e8\xfb\x7f;\xa1\x94J\xd2\xc7Dg\xda\x10\xc3\xf1\x1c?H2\x80 GhoKUEC\xd5\x8ed\xf9WD\xca\xd7\x95\xb7zM\xc6y0"\][\xa7\x88\x9ai\xa8\x9d\xa3\xa4\xb5j\xd3\xdd\x81?h\x0c\xda\x7f\xb5T\xd1j\xb71g\xc2\xf5\xe5\x89\xf6U\x19\x87\x0c\x19\xdb\xca)\x8fH\xe9\x8a\xef3+\xc4d\xa9\xaa\xfa\xa1A@`\x9a\xa3\xda4|1!\xb6\xef\xf2\x88S\xe5\x1f\xd2\xf3&\xb3);\xf2\xc5\xb3\xc5\xee;L\x88\x16L\xb5\n\x83\xe2\xe5\xf3@\xc9&\x95\x1d\x8e\x18\xe3\xed\x14\xcb|\xces!\xcc\xaf\xd9u~\xb1#\xdb\x84NM4L\xed\x12P\x8a\xd1L\x8b\xc5\xd3\xe2/\xa6\'\xf2\xd7\x13)~\x06\xcd\xf8\x11\xe2\x98Z\xa8\x90]p\xc4\x0f<\xb2\xee[_\xc9\x10Y\xe3o\xbc\xa6ZJ\xdbJ\xddE\xa4\xbb\xd1\xdf\xc9\xdc\xc4sPK\xd5\xa2*\xb7Bs\x898\\n\x04-\x17M\xf9\x85k\x87\xa8yK\xcd\x11u^\x84\x8c\x15\xf1\x94;KS\x19@\x93o\xb7\xf5\xb2ry;\x87B\xdd\xbb\x89\xa3\x8bSMB-"W}_N\xae[\x8a\n\xc9UH\xb5h\xc5\x19\xc2+\xb7t\xc1t\xbe\xea\xf1\xa9\x89\xa4\xa0\xf4\xda\\\xb1\xa9\x0c\xfc\x96\xce\xf3\xb2x\x94\x9d\x86\x0ba*\x96\x91\x0bT\xf9H\x94\xeaX\x87\xa8zG\xba?1\x14\x10[\x19\xed\x01S\xe4m"\xe7-\xaa\xd9\xa9\x04\xb16\xaa8j\x8a\x87wcp:\xae\x1d<\xa5oI\x16\xa2\x12\xef]B\xd5N\x1f0#T\xf1I\'\x94b\x97\xf5]-\xb5\xa4kU\x9bf2s2\xd6\xdeOL\x88$\x89j\x12X\x94X\xbf\xa8a\x99Nj=\xa4f\xc8\xb3\xcb\xdc\xc5RSRH\xc8\x97\xe0\xcaf\xc4\x83\xa4Q-E\xcaW\x08\xeaO\xcd\x1e\x0emW\xd5UMW\x9c\xec\x1e"\xe2\xa0xd\xbc\xd1\xe0\xa5q7\x12\xb7\x82\xdcG\x96\xe1\x1dE\xcd\xf1-\xe9\xd3LM2s2\xd4\xcc\xa0\xcd\x19%E\xfb\xd9ED\xdc(\xeb\xe1\xad\xd3iwF\xdd6\xdbov,C\x0b\xf05:\xa1\x88O\x9d\x87\xd0\x8d\x86>\x95M\xba\xa9\x16\xe8?\xa7\xb3=\x19\xafco\xefe\xb3\xc9J.E\xe5\xa3p\xfb\xcbEK\xad\x12\xfe&\xa8!\xf2\x8b\xd3\xcf\x97\x95\x0e_J\xe69\xa7\x97\x02\xcan\xa3$\xc9\xd1K\xa6\xa2\x9a\n)\xba\xd3\xc0\x05l1!\xc3\x02\x1cp\xb6\xe2\xdd\xbf~\xff\x00l\x00\xf2\xd9+\xc5\x17\x06\xcf\x11\x14T\xe1\n\xa7o.\xadD>h\x8eH\xb2\x89\xdbe\x9e\xa0\xcay\x8bd\x8d\xd9,\x90$[\xf0\xc0K\xf2\xfd\x08K\x1f\xd6&\x8c\xa5\x1e\x84\xa9\x941\x1fp\xaf\xff\xd9'
                    p0
                    .
                    
                    1 Reply Last reply Reply Quote 0
                    • shcshc
                      shcshc last edited by

                      i have it:

                      with open("/tmp/bild.jpg", “wb”) as mypicklefile:
                      mypicklefile.write(prop_contact_picture)

                      works fine

                      fbartels 1 Reply Last reply Reply Quote 0
                      • fbartels
                        fbartels Kopano @shcshc last edited by fbartels

                        Hi @shcshc ,

                        great to hear that you found a solution. I’ve seen your updates along the way, but did not have any time yet to really thing about possible solutions.

                        Edit: in case you decide to make your project publicly available you could also add a link to it to https://stash.z-hub.io/projects/COM/repos/projects-and-resources/browse, so that other can more easily find it.

                        Regards Felix

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

                        Support overview:
                        https://kopano.com/support/

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