2017-08-28 84 views
0

是否可以使用Java Mail连接到Exchange Online Server(Office 365)?可以使用JavaMail连接Exchange Online Server(Office 365)吗?

+0

我从来没有尝试过,但通过这个页面它似乎支持所有需要的协议:https://support.microsoft.com/en-us/help/2021880/configuring-outlook-for-microsoft-online -services-mso –

+0

@ ismsankalp89编辑被拒绝。我们不是盲目的。 – EJP

+0

谢谢你的信息。 –

回答

0

是的,这是我从github

import java.util.Date; 
import java.util.Properties; 
import java.util.logging.Level; 
import java.util.logging.Logger; 

import javax.mail.Authenticator; 
import javax.mail.Message; 
import javax.mail.MessagingException; 
import javax.mail.PasswordAuthentication; 
import javax.mail.Session; 
import javax.mail.Transport; 
import javax.mail.internet.InternetAddress; 
import javax.mail.internet.MimeMessage; 

public class SendEmailOffice365 { 

    private static final Logger LOGGER = Logger.getAnonymousLogger(); 

    private static final String SERVIDOR_SMTP = "smtp.office365.com"; 
    private static final int PORTA_SERVIDOR_SMTP = 587; 
    private static final String CONTA_PADRAO = "[email protected]"; 
    private static final String SENHA_CONTA_PADRAO = "password*"; 

    private final String from = "[email protected]"; 
    private final String to = "[email protected]"; 

    private final String subject = "Teste"; 
    private final String messageContent = "Teste de Mensagem"; 

    public void sendEmail() { 
     final Session session = Session.getInstance(this.getEmailProperties(), new Authenticator() { 

      @Override 
      protected PasswordAuthentication getPasswordAuthentication() { 
       return new PasswordAuthentication(CONTA_PADRAO, SENHA_CONTA_PADRAO); 
      } 

     }); 

     try { 
      final Message message = new MimeMessage(session); 
      message.setRecipient(Message.RecipientType.TO, new InternetAddress(to)); 
      message.setFrom(new InternetAddress(from)); 
      message.setSubject(subject); 
      message.setText(messageContent); 
      message.setSentDate(new Date()); 
      Transport.send(message); 
     } catch (final MessagingException ex) { 
      LOGGER.log(Level.WARNING, "Erro ao enviar mensagem: " + ex.getMessage(), ex); 
     } 
    } 

    public Properties getEmailProperties() { 
     final Properties config = new Properties(); 
     config.put("mail.smtp.auth", "true"); 
     config.put("mail.smtp.starttls.enable", "true"); 
     config.put("mail.smtp.host", SERVIDOR_SMTP); 
     config.put("mail.smtp.port", PORTA_SERVIDOR_SMTP); 
     return config; 
    } 

    public static void main(final String[] args) { 
     new SendEmailOffice365().sendEmail(); 
    } 

} 
+0

谢谢Yohannes。我认为,如果您可以连接发送邮件,也可以连接到阅读收件箱/文件夹。 –

+0

理想情况是的。很难仅支持发送部分。 –

0

微软有太多的产品与真内相同名称不同了一个例子!这些JavaMail FAQ instructions应该有所帮助,但是您必须更改主机名。

相关问题