Comment envoyer un e-mail depuis Outlook via Java?
je suis coincé derrière un pare-feu d'entreprise qui ne me permettra pas d'envoyer de courrier électronique par des moyens conventionnels tels que L'API Java Mail ou Apache Commons Email, même à d'autres personnes au sein de l'organisation(ce qui est tout ce que je veux de toute façon). Mais mon Outlook 2010 peut évidemment envoyer ces e-mails. Je me demandais s'il y avait un moyen d'automatiser Outlook 2010 via le code Java pour Qu'Outlook puisse envoyer les e-mails ? Je sais que des choses comme "mailto" peuvent être utilisées pop-up la boîte de dialogue Outlook envoyer par défaut avec des informations pré-remplies, mais Je cherche un moyen pour que l'opération send se passe en coulisse. Merci pour toute info.
3 réponses
vous pouvez envoyer des e-mails par l'intermédiaire d'outlook avec javamail
utiliser les configurations décrites sur site officiel D'Outlook.
voici le petit code de démo
public static void main(String[] args) {
final String username = "your email"; // like yourname@outlook.com
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 inzi769@gmail.com
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);
}
}
.
Note: j'ai testé cela avec Javamail API 1.5.6
Je ne pense pas qu'il y ait moyen de faire ce que vous voulez en utilisant Outlook.
probablement votre serveur de messagerie est aussi derrière le pare-feu d'entreprise. Si vous utilisez Outlook pour votre client, vous utilisez probablement Exchange pour votre serveur. Exchange peut être configuré pour prendre en charge le protocole standard SMTP pour l'envoi de courrier, ce qui permettrait L'utilisation de JavaMail. Si vous ne pouvez pas configurer votre serveur Exchange pour prendre en charge SMTP, vous pouvez toujours utiliser Exchange Web Services . Si cela ne fonctionne pas, vous pourriez avoir besoin d'utiliser l'un des JavaMail produits tiers qui prend en charge le Microsoft proprietary mail protocol.