to open outlook mail from java program and to attach file to the mail from directory

前端 未结 5 1805

I need to implement Email functionality in my Java application which will open microsoft outlook and attach a file from my directory. Has any implemented the same?

相关标签:
5条回答
  • 2020-12-06 15:03

    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).

    0 讨论(0)
  • 2020-12-06 15:09

    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

    0 讨论(0)
  • 2020-12-06 15:15

    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 :-))

    0 讨论(0)
  • 2020-12-06 15:15

    You can open the system's email client using the desktop class.

    Desktop.getDesktop().mail( new URI( "mailto:address@somewhere.com" ) )
    
    0 讨论(0)
  • 2020-12-06 15:25

    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" */);
    
    }
    
    0 讨论(0)
提交回复
热议问题