to open outlook mail from java program and to attach file to the mail from directory
I need to implement Ema开发者_运维技巧il functionality in my Java application which will open microsoft outlook and attach a file from my directory. Has any implemented the same?
According to these docs the command you need is
"path/to/Outlook.exe /c ipm.note /a \"path/to/attachment\""
Assemble this and run it via ProcessBuilder
(Or listen to MarcoS who gives a very good example of why it's sometimes better not to literally answer questions :-))
If you want to implement email functionalities in Java, consider JavaMail. Also, if your application has email functionalities, then you don't need to open another email client (such as outlook).
You can open the system's email client using the desktop class.
Desktop.getDesktop().mail( new URI( "mailto:address@somewhere.com" ) )
I have been able to Open MS Outlook 2007 with a HTML email. I have done this using SWT OLE API. Here's the tutorial on Vogela: http://www.vogella.com/articles/EclipseMicrosoftIntegration/article.html
It says in tutorial that it also works for non-RCP Java.
public void sendEMail()
{
OleFrame frame = new OleFrame(getShell(), SWT.NONE);
// This should start outlook if it is not running yet
OleClientSite site = new OleClientSite(frame, SWT.NONE, "OVCtl.OVCtl");
site.doVerb(OLE.OLEIVERB_INPLACEACTIVATE);
// Now get the outlook application
OleClientSite site2 = new OleClientSite(frame, SWT.NONE, "Outlook.Application");
OleAutomation outlook = new OleAutomation(site2);
OleAutomation mail = invoke(outlook, "CreateItem", 0 /* Mail item */).getAutomation();
setProperty(mail, "BodyFormat", 2 /* HTML */);
setProperty(mail, "Subject", subject);
setProperty(mail, "HtmlBody", content);
if (null != attachmentPaths)
{
for (String attachmentPath : attachmentPaths)
{
File file = new File(attachmentPath);
if (file.exists())
{
OleAutomation attachments = getProperty(mail, "Attachments");
invoke(attachments, "Add", attachmentPath);
}
}
}
invoke(mail, "Display" /* or "Send" */);
}
Here is the exact command you want:-
new ProcessBuilder("C:\\Program Files\\Microsoft Office\\Office14\\OUTLOOK.exe","/a","C:\\Desktop\\stackoverflow.txt").start();
First Argument-Path to Outlook.
Second Argument- Outlook attachment command.
Third Argument- Attachment path
精彩评论