Platform SDK: CDO 1.2.1 |
This example is a standalone application, not an applet. It is a complete program demonstrating the basic procedures for initiating a CDO Library message. Within the framework of logging on to and off from a session, it creates a Message object, sets its requisite properties, and sends it to its recipients through the MAPI system.
import cdo.*; import com.ms.com.*; import java.io.*; public class Sample1 { public static void main(String args[]) { // Call the class factory. _Session session = (_Session) new Session(); Variant nullParam = new Variant(); nullParam.noParam(); Messages messages = null; try // First, log on. { Variant profileName = new Variant(); profileName.putString( "MyProfile" ); session.Logon( profileName, nullParam, nullParam, nullParam, nullParam, nullParam, nullParam ); } catch( Exception e ) { System.out.println( "Logon failed!" ); e.printStackTrace(); } try // Get the messages collection in the outbox. { Folder outBox = (Folder) session.getOutbox().getDispatch(); messages = (Messages) outBox.getMessages().getDispatch(); } catch( Exception e ) { System.out.println( "Failed to get the outbox messages collection!" ); e.printStackTrace(); } try // Now create, populate, and send the message. { // Create a new message in the outbox. Message newMsg = (Message) messages.Add( nullParam, nullParam, nullParam, nullParam ).getDispatch(); // Set the subject of the new message. Variant subject = new Variant(); subject.putString( "This is a message from Java!" ); newMsg.putSubject( subject ); // Set the text (body) of the new message. Variant text = new Variant(); text.putString( "This is the message text." ); newMsg.putText( text ); // Get the Recipients collection. Recipients recips = (Recipients) newMsg.getRecipients().getDispatch(); // Create a new recipient in the Recipients collection. Recipient recip = (Recipient) recips.Add( nullParam, nullParam, nullParam, nullParam ).getDispatch(); // Set the name on the new recipient. Variant name = new Variant(); name.putString( "somebody" ); recip.putName( name ); // Set the type on the new recipient. Variant type = new Variant(); type.putInt( 1 ); // "To" recipient recip.putType( type ); // Resolve the new recipient. Variant showDialog = new Variant(); showDialog.putBoolean( true ); recip.Resolve( showDialog ); // Make the new message permanent. Variant refresh = new Variant(); Variant makePermanent = new Variant(); refresh.putBoolean( true ); makePermanent.putBoolean( true ); newMsg.Update( makePermanent, refresh ); // Send the new message. Variant saveCopy = new Variant(); saveCopy.noParam(); showDialog.noParam(); // already created under Resolve() Variant wndHandle = new Variant(); wndHandle.noParam(); newMsg.Send( saveCopy, showDialog, wndHandle ); } catch( Exception e ) { System.out.println( "Failed to create/send a new message!" ); } try // Finally, log off. { session.Logoff(); } catch( Exception e ) { System.out.println( "Logoff failed!" ); } System.out.println( "All done!" ); } }