открыть почту Outlook из Java-программы и прикрепить файл к письму из каталога - PullRequest
4 голосов
/ 18 мая 2011

Мне нужно реализовать функцию электронной почты в моем Java-приложении, которое откроет Microsoft Outlook и прикрепит файл из моего каталога.Кто-нибудь реализовал то же самое?

Ответы [ 5 ]

10 голосов
/ 18 мая 2011

Согласно этим документам вам нужна команда

"path/to/Outlook.exe /c ipm.note /a \"path/to/attachment\""

Соберите это и запустите через ProcessBuilder

(Или послушайте MarcoS, который приводит очень хороший пример того, почему иногда лучше не отвечать буквально на вопросы: -))

6 голосов
/ 18 мая 2011

Вы можете открыть почтовый клиент системы, используя рабочий стол класс.

5 голосов
/ 18 мая 2011

Если вы хотите реализовать функции электронной почты в Java, рассмотрите JavaMail . Кроме того, если ваше приложение имеет функции электронной почты, вам не нужно открывать другой почтовый клиент (например, outlook).

3 голосов
/ 18 ноября 2014

Вот точная команда, которую вы хотите: -

new ProcessBuilder("C:\\Program Files\\Microsoft Office\\Office14\\OUTLOOK.exe","/a","C:\\Desktop\\stackoverflow.txt").start();

Первый аргумент-путь к Outlook.

Второй аргумент - команда приложения Outlook.

Третий аргументПуть крепления

2 голосов
/ 30 ноября 2012

Мне удалось открыть MS Outlook 2007 с электронной почтой в формате HTML. Я сделал это с помощью SWT OLE API. Вот учебник по Vogela: http://www.vogella.com/articles/EclipseMicrosoftIntegration/article.html

В учебном пособии говорится, что это также работает для не-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" */);

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...