JavaMails mit Anhang verschicken

zácky

Grünschnabel
Hallo,
vieleicht kann mir jemand helfen. Es geht darum, das ich mit dem unten angeführten Code Mail´s mit Anhang verschicken möchte. Diesen Code habe ich aus diesem Forum von Thomas Darimont, ich muss aber zugeben das ich mit SWT nicht so große Erfahrungen habe, deshalb wäre ich über Tipps sehr froh :p
Normal ist es kein Problem Mails mit Anhang zuverschicken das funktioniert. Warum ich es über dieses Programm laufen lassen will, ist einfach, da ich so den Nachweis im "gesendete Opjekte" - Ordner habe, gleichzeitig es über MAPI laufen lassen kann.
Mein Ansatz wäre den Befehl vor dem "Send" einzubinden ... aber wie schon gesagt, über einen Tipp bzw. einer Hilfe wäre ich sehr froh.
Im voraus schon danke :rolleyes:

Code:
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.layout.FillLayout;
 import org.eclipse.swt.ole.win32.OleAutomation;
 import org.eclipse.swt.ole.win32.OleClientSite;
 import org.eclipse.swt.ole.win32.OleFrame;
 import org.eclipse.swt.ole.win32.Variant;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Shell;
 

 public class test2 {
 
 	public static int OUTLOOK_MAIL_ITEM = 0;
 

 	public static void main(String[] args) {
 		Display display = new Display();
 		Shell shell = new Shell(display);
 
 		shell.setText("Outlook Automation");
 		shell.setLayout(new FillLayout());
 
 		OleFrame frm = new OleFrame(shell, SWT.NONE);
 
 		OleClientSite site = new OleClientSite(frm, SWT.NONE,
 				"Outlook.Application");
 
 		OleAutomation auto = new OleAutomation(site);
 
 		int[] GetNamespaceDispId = auto
 				.getIDsOfNames(new String[] { "GetNamespace" });
 
 		Variant Namespace = auto.invoke(GetNamespaceDispId[0],
 				new Variant[] { new Variant("MAPI") });
 
 		OleAutomation NamespaceAutomation = Namespace.getAutomation();
 
 		int[] LogonDispId = NamespaceAutomation
 				.getIDsOfNames(new String[] { "Logon" });
 
 		int[] LogoffDispId = NamespaceAutomation
 				.getIDsOfNames(new String[] { "Logoff" });
 
 		NamespaceAutomation.invoke(LogonDispId[0], new Variant[] {
 		    	new Variant("FROM"), new Variant(""),
 				new Variant(true), new Variant(true) });
 
 		int[] CreateItemDispId = auto
 				.getIDsOfNames(new String[] { "CreateItem" });
 
 		Variant mailItem = auto.invoke(CreateItemDispId[0],
 				new Variant[] { new Variant(OUTLOOK_MAIL_ITEM) });
 
 		OleAutomation mailItemAutomation = mailItem.getAutomation();
 
 		int[] ToPropertyDispId = mailItemAutomation
 				.getIDsOfNames(new String[] { "to" });
 
 		mailItemAutomation.setProperty(ToPropertyDispId[0], new Variant(
 				"TO"));
 
 		int[] SubjectPropertyDispId = mailItemAutomation
 				.getIDsOfNames(new String[] { "Subject" });
 
 		mailItemAutomation.setProperty(SubjectPropertyDispId[0], new Variant(
 		    			"SWT Outlook Automation Example "
 		    		    		+ System.currentTimeMillis()));
 
 		int[] BodyPropertyDispId = mailItemAutomation
 				.getIDsOfNames(new String[] { "Body" });
 
 		mailItemAutomation.setProperty(BodyPropertyDispId[0], new Variant(
 		    	"SWT OLE Automation :)"));
 
// Einbindung des Attachments ...

 		int[] SendDispId = mailItemAutomation
 				.getIDsOfNames(new String[] { "Send" });
 
		mailItemAutomation.invoke(SendDispId[0]);
 
 		NamespaceAutomation.invoke(LogoffDispId[0]);
 
 		shell.dispose();
 
 		auto.dispose();
 
 		NamespaceAutomation.dispose();
 
 		mailItemAutomation.dispose();
 
 		site.deactivateInPlaceClient();
 		site.dispose();
 
 		frm.dispose();
 	}
 }
 
Zurück