#smtp #jakarta-mail #exchange-server
#smtp #джакарта-почта #exchange-сервер
Вопрос:
Итак, я хочу знать, может ли организация использовать или нет протокол SMTP для получения электронных писем с сервера Exchange. Как я читал, стандартом для получения является POP3
or IMAP
, а SMTP
протокол является стандартным для отправки. Мой вопрос только в том, можно ли использовать его SMTP
в качестве входящего протокола. Если да, то я хочу знать, как я буду читать его сообщения, используя JavaMail API.
Я пытаюсь выполнить следующий код. но получение NoSuchProviderException
private void fetch(String incomingHost, String username, String password) {
try {
Properties properties = new Properties();
properties.put("mail.store.protocol", "smtp");
properties.put("mail.smtp.host", incomingHost);
properties.put("mail.smtp.port", 25);
properties.put("mail.smtp.starttls.enable", false);
emailSession = Session.getInstance(properties);
Store store = emailSession.getStore();
store.connect(incomingHost, 25, username, password);
// create the folder object and open it
Folder emailFolder = store.getFolder("INBOX");
emailFolder.open(Folder.READ_ONLY);
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
Message[] messages = emailFolder.getMessages();
System.out.println("messages.length---" messages.length);
for (int i = 0; i < messages.length; i ) {
Message message = messages[i];
System.out.println("---------------------------------" message.getDescription());
//writePart(message);
String line = reader.readLine();
if ("YES".equals(line)) {
message.writeTo(System.out);
} else if ("QUIT".equals(line)) {
break;
}
}
// close the store and folder objects
emailFolder.close(false);
store.close();
} catch (javax.mail.NoSuchProviderException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
Ответ №1:
Простой ответ «нет», но stackoverflow требует, чтобы я добавил все эти слова, чтобы сделать ответ достаточно длинным.
Комментарии:
1. у меня есть сомнения. можем ли мы получать электронные письма с сервера MS Exchange через JavaMail API. если да, то как? какие именно данные сервера понадобятся для получения почты из MS exchange
2. Необходимо включить поддержку IMAP в Exchange. Затем вы можете использовать JavaMail для получения почты с Exchange, как и с любого другого сервера IMAP. Для начала ознакомьтесь с часто задаваемыми вопросами JavaMail .
3. Большое спасибо @Shannon