Here's the
main Zimbra SOAP doc. This doesn't tell you what SOAP is or how to use it, but there are pages
all over the web that should help with that. If you want samples, use the web client with the debug window open (search the forums for how to do this) and you'll see samples of the SOAP we use.
Note that there's already a Java-language client that encapsulates all the SOAP for you -- check out the
com.zimbra.cs.zclient package, especially the ZMailbox class. Or use the
zmmailbox CLI, which itself uses com.zimbra.cs.zclient.ZMailbox.
We highly recommend using one or the other of these if you're not comfortable with SOAP and/or programming in general because they will make your life much, much easier. I cannot stress this enough.
Authentication is done by sending an
AuthRequest. Sending an email with attachments is done by first uploading the attachment using a form upload and then doing a
SendMsgRequest referencing the returned upload ID. Deleting an email is done via
MsgActionRequest with
<action op="delete" .../>. Getting an email attachment must be done by figuring out the part number of the attachment via a
GetMsgRequest, then fetching the attachment via the REST interface.