SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
1
.
Zimbra Scripting With Python
By : Imam Omar Mochtar (omar@jabetto.com )
Kopdar Python-id
Jogja, 2016
2
About Us
As Zimbra Provider for Email Solution
3
01
02
03
04
Leading Zimbra Provider in Indonesia
Enterprise-class Support
Professional Services
Established in 2009
4About Us: Authorized Zimbra Gold Partner
5About Us: Authorized Zimbra Training Center
6
Migrations Issue
Temporary Using Dual Platform,
Password Migration
Dual Platform Issue
Permanently Using Dual Platform
Sending Restriction
Email Sending Restriction (Size,
Subject, etc)
Forgotten password
Admin Burden for resetting
forgotten password
Authentication Issue
Multiple Authentication Services
Issue
Log Management Issue
Understanding Current Condition
Easily
Users Signature
No Standardization for Users’
signatures Issue
Spam And Virus
Database for anti-spam is not up
to date and olny have basic
feature
Local Expert
The obvious need for the skilled
resources
Reliable Support
The obvious need for the reliable
support
About Us: Providing Custom Solution
7About Us: EMAIL & COLLABORATION RELATED PRODUCTS AND SERVICES
8
Zimbra Intro
9ZIMBRA COMPONENTS
Bundled with Open Source Apps.
10Multi server Architecture
11ZIMBRA WEBCLIENT
12ZIMBRA Admin Console
13
Zimbra Scripting
Using zmprov
14Zimbra Scripting - zmprov
The zmprov tool performs all provisioning tasks in Zimbra LDAP, including creating accounts, aliases, domains, COS,
distribution lists, and calendar resources
Example:
● Creating user.
zmprov ca omar@jabetto.lab inibudi
● Set user attribute
zmprov ma omar@jabetto.lab sn Mochtar
● Get user attributes
zmprov ga omar@jabetto.lab
● Deleting user.
zmprov da omar@jabetto.lab
15Zimbra Scripting - zmprov
Binded with bash for scripting purpose
Example:
● Create 100 dummy user with default password selamat123
for user in {1..100}; do
zmprov ca user$x@jabetto.lab selamat123
done
Const: slow in every executing zmprov, Java app behaviour (?).
Solution: Dump zmprov arguments in one file then set as input stream with arguments -f
Example:
● Create file contains zmprov arguments
cat > /tmp/runme
ca user1@jabetto.lab selamat123
ca user2@jabetto.lab selamat123
ca user3@jabetto.lab selamat123
...
● Run in single zmprov command
zmprov -f /tmp/runme
Const: Cannot add logic from input file stream.
Solution: Using direct zimbra API call in one java process instance.
16
Zimbra Scripting
Using zmpython
17Zimbra Scripting - zmpython
● zmpython = Jython + Zimbra Java API.
● Included in every zimbra distribution release ( /opt/zimbra/bin/zmpython ).
● Logic Flexibility in single java process.
● Rather slow in execution, but blazingly fast while executing python with zimbra Library.
● We can do all task beyond zimbra API.
● But …..
There is no such documentation refer to zmpython, so we are call it ZAlien
18Zimbra Scripting - zmpython
So, The best zmpython documentation is the source code of Zimbra it self. Some of forking available in github. Eg:
19Zimbra Scripting - zmpython
Example: creating 100 user in batch with selamat123 as default password
● Create python script then save/upload it to zimbra server.
● Execute it with zmpython command.
/opt/zimbra/bin/zmpython /tmp/create100user.py
20Zimbra Scripting - zmpython
Speed Comparison DEMO:
CASE: Get User All Mailbox Size
Bash (zmprov & zmmailbox) VS zmpython
21
Zimbra Scripting
Using zimbra API
22Zimbra Scripting - Zimbra API
● For integrating 3th party apps to zimbra with ease.
● You can calling what Zimbra Admin Console do and beyond.
● Good documentation are there :) .
● Use zmsoap command for direct soap call or as testing purpose.
● Bunch of Zimbra API library for (some) famous proglang are there (eg: github).
● In Jabetto, we are using it a lot (almost) in every our product or for some task
automation.
23Zimbra Scripting - Zimbra API
Task automation example: Mail sending & receiving test
24Zimbra Scripting - Zimbra API
In our product example: Jlimiter, fetch Zimbra Information Data
25Zimbra Scripting - Zimbra API
DEMO
What API Documentation Says
26Zimbra Scripting - Zimbra API
zmsoap ( within zimbra server)
27Zimbra Scripting - Zimbra API
Direct SOAP API Call (from another host)
1. Get Token 2. Use token in every soap call
28Zimbra Scripting - Zimbra API
Direct SOAP API Call (from another host)
3. Example for create an account
29
NEXT: Q&A
Thanks!

Weitere ähnliche Inhalte

Was ist angesagt?

06 evpn use-case_reviewv1
06 evpn use-case_reviewv106 evpn use-case_reviewv1
06 evpn use-case_reviewv1ronsito
 
Hybrid Azure AD Join 動作の仕組みを徹底解説
Hybrid Azure AD Join 動作の仕組みを徹底解説Hybrid Azure AD Join 動作の仕組みを徹底解説
Hybrid Azure AD Join 動作の仕組みを徹底解説Yusuke Kodama
 
Gateway load balancing protocol
Gateway load balancing protocolGateway load balancing protocol
Gateway load balancing protocolWahyu Nasution
 
S03_まずはここから!Microsoft 365 E3 でセキュリティの第一歩を踏み出す [Microsoft Japan Digital Days]
S03_まずはここから!Microsoft 365 E3 でセキュリティの第一歩を踏み出す [Microsoft Japan Digital Days]S03_まずはここから!Microsoft 365 E3 でセキュリティの第一歩を踏み出す [Microsoft Japan Digital Days]
S03_まずはここから!Microsoft 365 E3 でセキュリティの第一歩を踏み出す [Microsoft Japan Digital Days]日本マイクロソフト株式会社
 
プロトコルから見るID連携
プロトコルから見るID連携プロトコルから見るID連携
プロトコルから見るID連携Naohiro Fujie
 
ASN/IPの取得方法(APNIC版)
ASN/IPの取得方法(APNIC版)ASN/IPの取得方法(APNIC版)
ASN/IPの取得方法(APNIC版)ProjectDC-01
 
Big ip f5 ltm load balancing methods
Big ip f5 ltm load balancing methodsBig ip f5 ltm load balancing methods
Big ip f5 ltm load balancing methodsUtpal Sinha
 
SDN in the Management Plane: OpenConfig and Streaming Telemetry
SDN in the Management Plane: OpenConfig and Streaming TelemetrySDN in the Management Plane: OpenConfig and Streaming Telemetry
SDN in the Management Plane: OpenConfig and Streaming TelemetryAnees Shaikh
 
[SCCM 友の会] System Center Configuration Manager この秋おさえておきたい最新機能!
[SCCM 友の会]  System Center Configuration Manager  この秋おさえておきたい最新機能![SCCM 友の会]  System Center Configuration Manager  この秋おさえておきたい最新機能!
[SCCM 友の会] System Center Configuration Manager この秋おさえておきたい最新機能!TAKUYA OHTA
 
Virtual Private Network(VPN)
Virtual Private Network(VPN)Virtual Private Network(VPN)
Virtual Private Network(VPN)Abrish06
 
Azureでクレジットカード以外の支払方法
Azureでクレジットカード以外の支払方法Azureでクレジットカード以外の支払方法
Azureでクレジットカード以外の支払方法Junji Yamamoto
 
Deploying Carrier Ethernet Features on Cisco ASR 9000
Deploying Carrier Ethernet Features on Cisco ASR 9000Deploying Carrier Ethernet Features on Cisco ASR 9000
Deploying Carrier Ethernet Features on Cisco ASR 9000Vinod Kumar Balasubramanyam
 
Inside vacuum - 第一回PostgreSQLプレ勉強会
Inside vacuum - 第一回PostgreSQLプレ勉強会Inside vacuum - 第一回PostgreSQLプレ勉強会
Inside vacuum - 第一回PostgreSQLプレ勉強会Masahiko Sawada
 

Was ist angesagt? (20)

06 evpn use-case_reviewv1
06 evpn use-case_reviewv106 evpn use-case_reviewv1
06 evpn use-case_reviewv1
 
Hybrid Azure AD Join 動作の仕組みを徹底解説
Hybrid Azure AD Join 動作の仕組みを徹底解説Hybrid Azure AD Join 動作の仕組みを徹底解説
Hybrid Azure AD Join 動作の仕組みを徹底解説
 
Gateway load balancing protocol
Gateway load balancing protocolGateway load balancing protocol
Gateway load balancing protocol
 
HTTP VS. HTTPS: WHICH IS BETTER??
HTTP VS. HTTPS: WHICH IS BETTER??HTTP VS. HTTPS: WHICH IS BETTER??
HTTP VS. HTTPS: WHICH IS BETTER??
 
S03_まずはここから!Microsoft 365 E3 でセキュリティの第一歩を踏み出す [Microsoft Japan Digital Days]
S03_まずはここから!Microsoft 365 E3 でセキュリティの第一歩を踏み出す [Microsoft Japan Digital Days]S03_まずはここから!Microsoft 365 E3 でセキュリティの第一歩を踏み出す [Microsoft Japan Digital Days]
S03_まずはここから!Microsoft 365 E3 でセキュリティの第一歩を踏み出す [Microsoft Japan Digital Days]
 
IronPort
IronPortIronPort
IronPort
 
Network virtualization
Network virtualizationNetwork virtualization
Network virtualization
 
プロトコルから見るID連携
プロトコルから見るID連携プロトコルから見るID連携
プロトコルから見るID連携
 
Overview of SharePoint Server 2019 Public Preview
Overview of SharePoint Server 2019 Public PreviewOverview of SharePoint Server 2019 Public Preview
Overview of SharePoint Server 2019 Public Preview
 
ASN/IPの取得方法(APNIC版)
ASN/IPの取得方法(APNIC版)ASN/IPの取得方法(APNIC版)
ASN/IPの取得方法(APNIC版)
 
Big ip f5 ltm load balancing methods
Big ip f5 ltm load balancing methodsBig ip f5 ltm load balancing methods
Big ip f5 ltm load balancing methods
 
SDN in the Management Plane: OpenConfig and Streaming Telemetry
SDN in the Management Plane: OpenConfig and Streaming TelemetrySDN in the Management Plane: OpenConfig and Streaming Telemetry
SDN in the Management Plane: OpenConfig and Streaming Telemetry
 
Grayhole
GrayholeGrayhole
Grayhole
 
[SCCM 友の会] System Center Configuration Manager この秋おさえておきたい最新機能!
[SCCM 友の会]  System Center Configuration Manager  この秋おさえておきたい最新機能![SCCM 友の会]  System Center Configuration Manager  この秋おさえておきたい最新機能!
[SCCM 友の会] System Center Configuration Manager この秋おさえておきたい最新機能!
 
Syslog
SyslogSyslog
Syslog
 
O365 to cisco cloud guide
O365 to cisco cloud guideO365 to cisco cloud guide
O365 to cisco cloud guide
 
Virtual Private Network(VPN)
Virtual Private Network(VPN)Virtual Private Network(VPN)
Virtual Private Network(VPN)
 
Azureでクレジットカード以外の支払方法
Azureでクレジットカード以外の支払方法Azureでクレジットカード以外の支払方法
Azureでクレジットカード以外の支払方法
 
Deploying Carrier Ethernet Features on Cisco ASR 9000
Deploying Carrier Ethernet Features on Cisco ASR 9000Deploying Carrier Ethernet Features on Cisco ASR 9000
Deploying Carrier Ethernet Features on Cisco ASR 9000
 
Inside vacuum - 第一回PostgreSQLプレ勉強会
Inside vacuum - 第一回PostgreSQLプレ勉強会Inside vacuum - 第一回PostgreSQLプレ勉強会
Inside vacuum - 第一回PostgreSQLプレ勉強会
 

Ähnlich wie Zimbra scripting with python

Gearman - Northeast PHP 2012
Gearman - Northeast PHP 2012Gearman - Northeast PHP 2012
Gearman - Northeast PHP 2012Mike Willbanks
 
Gearman: A Job Server made for Scale
Gearman: A Job Server made for ScaleGearman: A Job Server made for Scale
Gearman: A Job Server made for ScaleMike Willbanks
 
Jstorm introduction-0.9.6
Jstorm introduction-0.9.6Jstorm introduction-0.9.6
Jstorm introduction-0.9.6longda feng
 
Zimbra admin ui demo presentation
Zimbra admin ui demo presentationZimbra admin ui demo presentation
Zimbra admin ui demo presentationsolarisyourep
 
Black hat dc-2010-egypt-uav-slides
Black hat dc-2010-egypt-uav-slidesBlack hat dc-2010-egypt-uav-slides
Black hat dc-2010-egypt-uav-slidesBakry3
 
High Availability Architecture for Legacy Stuff - a 10.000 feet overview
High Availability Architecture for Legacy Stuff - a 10.000 feet overviewHigh Availability Architecture for Legacy Stuff - a 10.000 feet overview
High Availability Architecture for Legacy Stuff - a 10.000 feet overviewMarco Amado
 
Distributed Queue System using Gearman
Distributed Queue System using GearmanDistributed Queue System using Gearman
Distributed Queue System using GearmanEric Cho
 
Performance profiling and testing of symfony application 2
Performance profiling and testing of symfony application 2Performance profiling and testing of symfony application 2
Performance profiling and testing of symfony application 2Andrew Yatsenko
 
Gearman work queue in php
Gearman work queue in phpGearman work queue in php
Gearman work queue in phpBo-Yi Wu
 
AppSec California 2016 - Making Security Agile
AppSec California 2016 - Making Security AgileAppSec California 2016 - Making Security Agile
AppSec California 2016 - Making Security AgileOleg Gryb
 
Python Hashlib & A True Story of One Bug
Python Hashlib & A True Story of One BugPython Hashlib & A True Story of One Bug
Python Hashlib & A True Story of One Bugdelimitry
 
Java performance tuning
Java performance tuningJava performance tuning
Java performance tuningJerry Kurian
 
Porting Rails Apps to High Availability Systems
Porting Rails Apps to High Availability SystemsPorting Rails Apps to High Availability Systems
Porting Rails Apps to High Availability SystemsMarcelo Pinheiro
 
Writing and deploying serverless python applications
Writing and deploying serverless python applicationsWriting and deploying serverless python applications
Writing and deploying serverless python applicationsCesar Cardenas Desales
 
Linux Desktop Automation
Linux Desktop AutomationLinux Desktop Automation
Linux Desktop AutomationRui Lapa
 
First adventure within a shell - Andrea Telatin at Quadram Institute
First adventure within a shell - Andrea Telatin at Quadram InstituteFirst adventure within a shell - Andrea Telatin at Quadram Institute
First adventure within a shell - Andrea Telatin at Quadram InstituteAndrea Telatin
 

Ähnlich wie Zimbra scripting with python (20)

Gearman - Northeast PHP 2012
Gearman - Northeast PHP 2012Gearman - Northeast PHP 2012
Gearman - Northeast PHP 2012
 
Gearman: A Job Server made for Scale
Gearman: A Job Server made for ScaleGearman: A Job Server made for Scale
Gearman: A Job Server made for Scale
 
12 tricks to avoid hackers breaks your CI / CD
12 tricks to avoid hackers breaks your  CI / CD12 tricks to avoid hackers breaks your  CI / CD
12 tricks to avoid hackers breaks your CI / CD
 
Us 17-krug-hacking-severless-runtimes
Us 17-krug-hacking-severless-runtimesUs 17-krug-hacking-severless-runtimes
Us 17-krug-hacking-severless-runtimes
 
Jstorm introduction-0.9.6
Jstorm introduction-0.9.6Jstorm introduction-0.9.6
Jstorm introduction-0.9.6
 
Symfony Performance
Symfony PerformanceSymfony Performance
Symfony Performance
 
Concurrency in ruby
Concurrency in rubyConcurrency in ruby
Concurrency in ruby
 
Zimbra admin ui demo presentation
Zimbra admin ui demo presentationZimbra admin ui demo presentation
Zimbra admin ui demo presentation
 
Black hat dc-2010-egypt-uav-slides
Black hat dc-2010-egypt-uav-slidesBlack hat dc-2010-egypt-uav-slides
Black hat dc-2010-egypt-uav-slides
 
High Availability Architecture for Legacy Stuff - a 10.000 feet overview
High Availability Architecture for Legacy Stuff - a 10.000 feet overviewHigh Availability Architecture for Legacy Stuff - a 10.000 feet overview
High Availability Architecture for Legacy Stuff - a 10.000 feet overview
 
Distributed Queue System using Gearman
Distributed Queue System using GearmanDistributed Queue System using Gearman
Distributed Queue System using Gearman
 
Performance profiling and testing of symfony application 2
Performance profiling and testing of symfony application 2Performance profiling and testing of symfony application 2
Performance profiling and testing of symfony application 2
 
Gearman work queue in php
Gearman work queue in phpGearman work queue in php
Gearman work queue in php
 
AppSec California 2016 - Making Security Agile
AppSec California 2016 - Making Security AgileAppSec California 2016 - Making Security Agile
AppSec California 2016 - Making Security Agile
 
Python Hashlib & A True Story of One Bug
Python Hashlib & A True Story of One BugPython Hashlib & A True Story of One Bug
Python Hashlib & A True Story of One Bug
 
Java performance tuning
Java performance tuningJava performance tuning
Java performance tuning
 
Porting Rails Apps to High Availability Systems
Porting Rails Apps to High Availability SystemsPorting Rails Apps to High Availability Systems
Porting Rails Apps to High Availability Systems
 
Writing and deploying serverless python applications
Writing and deploying serverless python applicationsWriting and deploying serverless python applications
Writing and deploying serverless python applications
 
Linux Desktop Automation
Linux Desktop AutomationLinux Desktop Automation
Linux Desktop Automation
 
First adventure within a shell - Andrea Telatin at Quadram Institute
First adventure within a shell - Andrea Telatin at Quadram InstituteFirst adventure within a shell - Andrea Telatin at Quadram Institute
First adventure within a shell - Andrea Telatin at Quadram Institute
 

Kürzlich hochgeladen

A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...software pro Development
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 

Kürzlich hochgeladen (20)

A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 

Zimbra scripting with python

  • 1. 1 . Zimbra Scripting With Python By : Imam Omar Mochtar (omar@jabetto.com ) Kopdar Python-id Jogja, 2016
  • 2. 2 About Us As Zimbra Provider for Email Solution
  • 3. 3 01 02 03 04 Leading Zimbra Provider in Indonesia Enterprise-class Support Professional Services Established in 2009
  • 4. 4About Us: Authorized Zimbra Gold Partner
  • 5. 5About Us: Authorized Zimbra Training Center
  • 6. 6 Migrations Issue Temporary Using Dual Platform, Password Migration Dual Platform Issue Permanently Using Dual Platform Sending Restriction Email Sending Restriction (Size, Subject, etc) Forgotten password Admin Burden for resetting forgotten password Authentication Issue Multiple Authentication Services Issue Log Management Issue Understanding Current Condition Easily Users Signature No Standardization for Users’ signatures Issue Spam And Virus Database for anti-spam is not up to date and olny have basic feature Local Expert The obvious need for the skilled resources Reliable Support The obvious need for the reliable support About Us: Providing Custom Solution
  • 7. 7About Us: EMAIL & COLLABORATION RELATED PRODUCTS AND SERVICES
  • 14. 14Zimbra Scripting - zmprov The zmprov tool performs all provisioning tasks in Zimbra LDAP, including creating accounts, aliases, domains, COS, distribution lists, and calendar resources Example: ● Creating user. zmprov ca omar@jabetto.lab inibudi ● Set user attribute zmprov ma omar@jabetto.lab sn Mochtar ● Get user attributes zmprov ga omar@jabetto.lab ● Deleting user. zmprov da omar@jabetto.lab
  • 15. 15Zimbra Scripting - zmprov Binded with bash for scripting purpose Example: ● Create 100 dummy user with default password selamat123 for user in {1..100}; do zmprov ca user$x@jabetto.lab selamat123 done Const: slow in every executing zmprov, Java app behaviour (?). Solution: Dump zmprov arguments in one file then set as input stream with arguments -f Example: ● Create file contains zmprov arguments cat > /tmp/runme ca user1@jabetto.lab selamat123 ca user2@jabetto.lab selamat123 ca user3@jabetto.lab selamat123 ... ● Run in single zmprov command zmprov -f /tmp/runme Const: Cannot add logic from input file stream. Solution: Using direct zimbra API call in one java process instance.
  • 17. 17Zimbra Scripting - zmpython ● zmpython = Jython + Zimbra Java API. ● Included in every zimbra distribution release ( /opt/zimbra/bin/zmpython ). ● Logic Flexibility in single java process. ● Rather slow in execution, but blazingly fast while executing python with zimbra Library. ● We can do all task beyond zimbra API. ● But ….. There is no such documentation refer to zmpython, so we are call it ZAlien
  • 18. 18Zimbra Scripting - zmpython So, The best zmpython documentation is the source code of Zimbra it self. Some of forking available in github. Eg:
  • 19. 19Zimbra Scripting - zmpython Example: creating 100 user in batch with selamat123 as default password ● Create python script then save/upload it to zimbra server. ● Execute it with zmpython command. /opt/zimbra/bin/zmpython /tmp/create100user.py
  • 20. 20Zimbra Scripting - zmpython Speed Comparison DEMO: CASE: Get User All Mailbox Size Bash (zmprov & zmmailbox) VS zmpython
  • 22. 22Zimbra Scripting - Zimbra API ● For integrating 3th party apps to zimbra with ease. ● You can calling what Zimbra Admin Console do and beyond. ● Good documentation are there :) . ● Use zmsoap command for direct soap call or as testing purpose. ● Bunch of Zimbra API library for (some) famous proglang are there (eg: github). ● In Jabetto, we are using it a lot (almost) in every our product or for some task automation.
  • 23. 23Zimbra Scripting - Zimbra API Task automation example: Mail sending & receiving test
  • 24. 24Zimbra Scripting - Zimbra API In our product example: Jlimiter, fetch Zimbra Information Data
  • 25. 25Zimbra Scripting - Zimbra API DEMO What API Documentation Says
  • 26. 26Zimbra Scripting - Zimbra API zmsoap ( within zimbra server)
  • 27. 27Zimbra Scripting - Zimbra API Direct SOAP API Call (from another host) 1. Get Token 2. Use token in every soap call
  • 28. 28Zimbra Scripting - Zimbra API Direct SOAP API Call (from another host) 3. Example for create an account