2016-08-30 133 views
0

我被企業防火牆阻擋,不會讓我通過傳統方式(如Java Mail API或Apache Commons Email)發送電子郵件,甚至是組織內部的其他人(這就是我想要的任何東西)。但我的Outlook 2010顯然可以發送這些電子郵件。我想知道是否有辦法通過Java代碼自動化Outlook 2010,以便Outlook可以發送電子郵件?我知道像「mailto」這樣的東西可以用於預先填充的信息彈出默認的Outlook發送對話框,但我正在尋找一種方法讓發送操作在幕後進行。感謝您的任何信息。如何通過Java從Outlook發送電子郵件?

回答

1
Process p = Runtime.getRuntime().exec("cmd /C start outlook "); 
+2

這不會啓動Outlook GUI嗎?這似乎與OP正在尋找的是相反的。對不起,我無法貢獻更多。 –

0

我不認爲有什麼辦法可以使用Outlook來做你想做的事。

推測你的郵件服務器也在企業防火牆之後。如果您爲客戶端使用Outlook,則可能是使用Exchange作爲服務器。 Exchange可以配置爲支持用於發送郵件的標準SMTP協議,這將允許使用JavaMail。如果您無法將Exchange服務器配置爲支持SMTP,則仍可以使用Exchange Web Services。如果這不起作用,您可能需要使用支持Microsoft專有郵件協議的JavaMail Third Party Products之一。

3

您可以通過Outlook發送電子郵件與javamail使用上Outlook's official site.

所述的配置這裏是小的演示代碼

public static void main(String[] args) { 
    final String username = "your email"; // like [email protected] 
    final String password = "*********"; // password here 

    Properties props = new Properties(); 
    props.put("mail.smtp.auth", "true"); 
    props.put("mail.smtp.starttls.enable", "true"); 
    props.put("mail.smtp.host", "smtp-mail.outlook.com"); 
    props.put("mail.smtp.port", "587"); 

    Session session = Session.getInstance(props, 
     new javax.mail.Authenticator() { 
     @Override 
     protected PasswordAuthentication getPasswordAuthentication() { 
      return new PasswordAuthentication(username, password); 
     } 
     }); 
    session.setDebug(true); 

    try { 

     Message message = new MimeMessage(session); 
     message.setFrom(new InternetAddress(username)); 
     message.setRecipients(Message.RecipientType.TO, 
      InternetAddress.parse("receiver mail")); // like [email protected] 
     message.setSubject("Test"); 
     message.setText("HI you have done sending mail with outlook"); 

     Transport.send(message); 

     System.out.println("Done"); 

    } catch (MessagingException e) { 
     throw new RuntimeException(e); 
    } 
} 


注:我測試了這個與Javamail API 1.5.6

+0

我認爲OP並不意味着使用微軟的電子郵件服務器,而是微軟的電子郵件客戶端程序。令人困惑的是,兩者都被命名爲「展望」。 – JosefScript

相關問題