2017-08-28 40 views
0

Javaメールを使用して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

はい、ここで私は、Microsoftが実際には同じ内部のある別の名前であまりにも多くの製品を持っている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

よろしくお願いします。私はあなたがあなたがまた、受信トレイ/フォルダを読むために接続することができるメールを送信するために接続できる場合それを取る。 –

+0

理想的です。送信部分のみをサポートすることは非常に困難です。 –

0

からもらった例があります!これらのJavaMail FAQ instructionsが役立ちますが、ホスト名を変更する必要があります。

関連する問題