SYNOPSIS
openchangeclient [-?SFmDV] [-?|--help] [--usage] [-f|--database STRING] [--pf]
[-p|--profile STRING] [-P|--password STRING] [-S|--sendmail] [--sendappointment]
[--sendcontact] [--sendtask] [--sendnote] [-F|--fetchmail] [-G|--storemail STRING]
[-i|--fetch-items STRING] [--freebusy=STRING] [--force] [--delete=STRING]
[-u|--update STRING] [-m|--mailbox] [-D|--deletemail] [-A|--attachments STRING]
[-I|--html-inline STRING] [-W|--html-file STRING] [-t|--to STRING] [-c|--cc STRING]
[-b|--bcc STRING] [-s|--subject STRING] [-B|--body STRING] [--location=STRING]
[--label=STRING] [--dtstart=STRING] [--dtend=STRING] [--busystatus=STRING]
[--taskstatus=STRING] [--importance=STRING] [--email=STRING] [--fullname=STRING]
[--cardname=STRING] [--color=STRING] [--notifications] [--folder=STRING] [--mkdir]
[--rmdir] [--userlist] [--folder-name=STRING] [--folder-comment=STRING]
[-d|--debuglevel STRING] [--dump-data] [--private] [--ocpf-file=STRING]
[--ocpf-dump=STRING] [--ocpf-syntax] [--ocpf-sender] [-V|--version]
DESCRIPTION
openchangeclient is a MAPI command line tool designed to facilitate mail send, receive and delete operations using the MAPI protocol. It also provides operations on tasks, contacts (address book) and calendar operations.
COMMANDS
- --fetchmail
- -F
-
Fetch Exchange user mails from the inbox and display general information from
the mails on the standard output.
- --storemail=DIRECTORY
- -G
-
Store mail attachments to the local filesystem in the specified directory. This
is the normal way to retrieve attachments.
- --fetch-items=STRING
- -i
-
Retrieve specific items from Exchange default folders. Possible value
for STRING are Mail, Appointment, Contact, Task, Note.
- --mkdir
-
Create a folder within the mailbox or public folders store
hierarchy. This command requires that the --folder-name option
be used to specify the name of the folder to create.
- --rmdir
-
Deletes a folder within the mailbox or public folders store
hierarchy. This option requires that the --folder-name option
be used to specify the name of the folder to delete.
- --mailbox
- -m
-
Display the user mailbox folder hierarchy with folder names, folder
comments, the folder type, number of unread items in the folder
and total number of items in the folder.
- --notifications
-
Monitor NEWMAIL notifications in the Inbox folder and display summary
on standard output.
- --sendmail
- -S
-
Send a mail to a user belonging to the Exchange organization. This
requires specifying one or more recipients (see the --to, --cc and
--bcc options), a subject (see the --subject option) and a body
(see the --body, --html-file and --html-inline options).
- --sendappointment
-
Create an appointment in the default calendar folder.
- --sendcontact
-
Create a contact in the default contact folder.
- --sendtask
-
Create a task in the default task folder.
- --sendnote
-
Create a note in the default notes folder.
- --deletemail
- -D
-
Delete a mail from the exchange user mailbox. This requires
use of the --subject option to specify the mail to be deleted.
- --userlist
-
Display the users listed in the address book.
- --delete=STRING
-
Delete a specified item from the store by ID number.
- --ocpf-dump=STRING
-
Download a message (specified by the argument, which must be
the folder ID and unique message ID for the message) as OCPF format.
The message will be saved to a file given by the message ID, followed
by a suffix of .ocpf
See the separate (HTML) documentation for libocpf for more information on the OCPF format.
- --ocpf-sender
-
Send a message given in OCPF format to the server. This requires
use of the
--ocpf-file
option to specify the file to load from.
See the separate (HTML) documentation for libocpf for more information on the OCPF format.
- --ocpf-syntax
-
Check the syntax of an OCPF file. This does not perform any network
operations. This requires use of the
--ocpf-file
option to specify
the file to load from.
See the separate (HTML) documentation for libocpf for more information on the OCPF format.
- --freebusy=STRING
-
Fetch the free / busy status for the user specified by the string. You will
usually need to use the
--pf
option (see below) since free / busy status is normally obtained from the
public folder store.
OPTIONS
- --database=DATABASE
- -f
-
Set the MAPI profile database. If no database is specified, then openchangeclient tries to load the default one:
$HOME/.openchange/profiles.ldb
- --profile=PROFILE
- -p
-
Set the profile to use. If a profile is not specified, and one of the
profiles has been set as the default in the profile database
(for example, using mapiprofile -S), then that default profile will be used.
- --password
- -P
-
Specify the password for the profile to be used. This can be omitted if the
password is stored in the profile.
- --pf
-
Perform operations against the Public Folders store, rather than the normal
operations against a user's private folders.
- --folder
-
Specify the folder name we want to work with want to open. This option
is mandatory for public folders, but can also be used to open specific
folders in the mailbox store.
- --attachments=ATTACHMENT1;ATTACHMENT2
- -A
-
Set attachments to send when sending a mail. Attached filenames need
to be separated with
semi-colons
as specified in the description above. This is only meaningful with
--sendmail
- --subject=STRING
- -s
-
Specify the mail subject. If no subject is specified, the mail subject will be empty.
This is only meaningful with
--sendmail
- --body=STRING
- -B
-
Set the body of the mail to be the UTF8 text only content specified on the command
line. This is only meaningful with
--sendmail
- --html-inline=STRING
- -I
-
Set the body of the mail to be the HTML content specified on command line. This is
only meaningful with
--sendmail
- --html-file=FILENAME
- -W
-
Set the body of the mail to be the content of the specified file. This is only
meaningful with
--sendmail
- --to=USERNAME1,USERNAME2
- -t
-
Specify
To
recipients for the mail. Usernames need to be separated with commas
as specified in the example above. This is only meaningful with
--sendmail
- --cc=USERNAME1,USERNAME2
- -c
-
Specify
Cc
recipients for the mail. Usernames need to be separated with commas
as specified in the example above. This is only meaningful with
--sendmail
- --bcc=USERNAME1,USERNAME2
- -b
-
Specify
Bcc
recipients for the mail. Usernames need to be separated with commas
as specified in the example above. This is only meaningful with
--sendmail
- --location=STRING
-
Specify the appointment location. This is only meaningful with
--sendappointment
- --dtstart=STRING
-
Specify the start date of an event. The following date format needs to be used:
%Y-%m-%d %H:%M:%S
e.g: 2007-06-01 14:59:00. This is only meaningful with
--sendappointment
and
--sendtask
- --dtend=STRING
-
Specify either the end date or due date of an event. The following date
format needs to be used:
%Y-%m-%d %H:%M:%S
e.g: 2007-06-01 14:59:00
When no
dtend
parameter is specified, default value is set to
dtstart
This is only meaningful with
--sendappointment
and
--sendtask
- --force
-
Add appointment to the calendar, even if it would overlap with
an existing appointment. This is only meaningful with
--sendappointment
- --private
-
Mark the appointment as private event. This is only meaningful with
--sendappointment
- --busystatus=STRING
-
Set the busy status of an appointment. Possible values are FREE,
TENTATIVE, BUSY or OUTOFOFFICE. This is only meaningful with
--sendappointment
- --label=STRING
-
Set the type of appointment. Possible values are NONE, IMPORTANT,
BUSINESS, PERSONAL, VACATION, MUST_ATTEND, TRAVEL_REQUIRED,
NEEDS_PREPARATION, BIRTHDAY, ANNIVERSARY and PHONE_CALL.
This is only meaningful with
--sendappointment
- --taskstatus=STRING
-
Set the status of a task. Possible values are NOTSTARTED, PROGRESS,
COMPLETED, WAITING, DEFERRED. This is only meaningful with
--sendtask
- --fullname=STRING
-
Set the full name in a contact message. This is only meaningful with
--sendcontact
- --cardname=STRING
-
Set the card name of a task or contact message. This is only meaningful with
--sendcontact
or
--sendtask
- --email=STRING
-
Set the email address in a contact message. This is only meaningful with
--sendcontact
- --importance=STRING
-
Set the relative importance of a task. Possible values are LOW, NORMAL
and HIGH. This is only meaningful with
--sendtask
- --color=STRING
-
Set the color of the note. The default color is Yellow. Other options
are Blue, Green, Pink and White. This is only meaningful with
--sendnote
- --folder-name=STRING
-
Set the folder name to create. This is only meaningful with
--mkdir
or
--rmdir
- --folder-comment=STRING
-
Set the folder comment. This is only meaningful with
--mkdir
- --update=STRING
- -u
-
Change (update) an existing item, rather than creating a new one. This
is only meaningful with
--sendtask
,
--sendnote
,
--sendappointment
and
--sendcontact
- --ocpf-file=STRING
-
Specify the file to load OCPF data from. This is only meaningful with
--ocpf-sender
and
--ocpf-syntax
- --dump-data
-
Display raw format data associated with the operation. You normally only
need this when debugging.
- --debug-level=LEVEL
-
Display debugging information at the specified level (or higher). Level
10 is a lot of debug information.
EXAMPLES
Fetching emails:
openchangeclient --database=/tmp/profiles.ldb --profile=2000 --fetchmail
Fetch emails and store attachments:
openchangeclient --database=/tmp/profiles.ldb --profile=2000 --fetchmail --storemail=test
All attachments from any mails will be stored in the test directory. If the specified directory does not exist, it will automatically be created. Note that if the attachment name is not unique amongst all emails, some attachments may be overwritten.
Send a basic email:
openchangeclient --database=/tmp/profiles.ldb --profile=2000 --to="Adm,jker" --cc=Paul --bcc=Bill --subject="It is working" --body="This is a sample body" --sendmail
A mail with UTF8 (text only) content will be sent with the following recipients:
to = Administrator and jkerihuel
cc = Paul
bcc = Bill
Send an inline HTML email:
openchangeclient --database=/tmp/profiles.ldb --profile=2000 --to=Adm --subject="Inline HTML sample email" --html-inline="<body bgcolor=yellow><h1>My first HTML email</h1></body>" --sendmail
Administrator will receive a mail with HTML body - yellow background and a title.
Send a HTML mail using a file:
openchangeclient --database=/tmp/profiles.ldb --profile=2000 --to=Adm --subject="HTML file email" --html-file=/tmp/myfile.html --sendmail
The content of /tmp/myfile.html will be used to fill the HTML body. If the HTML file exceed a fixed size (0x4000 bytes), then PR_HTML content will be sent using MAPI streams.
Send email with attachments:
openchangeclient --database=/tmp/profiles.ldb --profile=2000 --to=Adm --subject="Attachments" --attachments="/tmp/file1.jpg;/tmp/file2.jpg;tmp/file2.jpg" --body="These are sample attachments" --sendmail
The example above will send a UTF8 body mail to Administrator and attach file1,jpg, file2.jpg and file3.jpg to the email.
Display the users in the address book
openchangeclient --userlist
Fetch calendar items:
openchangeclient --fetch-items=Appointment
Fetch contact items:
openchangeclient --fetch-items=Contact
Fetch task items:
openchangeclient --fetch-items=Task
Create appointment:
openchangeclient --sendappointment --dtstart="2007-06-01 22:00:00" \ --dtend="2007-06-01 22:35:00" \ --busystatus=FREE \ --location="Home" \ --subject="Check the Junk folder"
Create Task:
openchangeclient --sendtask --dtstart="2008-11-01 18:00:00" \ --cardname="openchangeclient" --importance=HIGH \ --taskstatus=COMPLETED --body="my new task"
Create contact:
openchangeclient --sendcontact --cardname="openchangeclient" \ --fullname="OpenChange Client 3rd" \ --email="[email protected]"
Create folder:
openchangeclient --mkdir --folder-name="openchange" \ --folder-comment="comment"
This example will create a generic folder named openchange under the Inbox folder.
Delete folder:
openchangeclient --rmdir --folder-name="openchange"
This example will delete the generic folder named openchange under Inbox folder.
List Mailbox hierarchy:
openchangeclient --mailbox
Obtain free / busy status
openchangeclient --pf --freebusy="test user3"
AUTHOR
Julien Kerihuel <j.kerihuel at openchange dot org>