Я пытаюсь отправить электронное письмо от acc1 до acc2. Кажется, код работает, и я могу найти свою почту на acc2. Но я не могу найти его в папке "Отправленные" на acc1. (В качестве примера я использую яндекс).
Я попытался использовать протокол imap и сохранить его после, но код завершается без исключений, но сообщение все равно не может быть найдено в отправленном.
Мой код:
public class sendMail {
public static void main(String[] args) {
String to = "TO_ACC"; // sender email
String from = "FROM_ACC"; // receiver email
Properties properties = System.getProperties();
properties.setProperty("mail.smtp.host", "smtp.yandex.ru");
properties.setProperty("mail.smtp.port", "465");
properties.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
properties.setProperty("mail.smtp.socketFactory.port", "465");
properties.setProperty("mail.smtp.auth", "true");
Session session = Session.getInstance(properties,new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("FROM_ACC","FROM_PASS");
}
}); // default session
try {
MimeMessage message = new MimeMessage(session); // email message
message.setFrom(new InternetAddress(from)); // setting header fields
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.addRecipient(Message.RecipientType.CC, new InternetAddress(to));
message.addRecipient(Message.RecipientType.BCC, new InternetAddress(to));
message.setSubject("new hjhjh"); // subject line
// actual mail body
message.setText("some kjkjk");
// Send message
Transport.send(message); System.out.println("Email Sent successfully....");
//Copy in sent
Store store = session.getStore("imap");
store.connect("imap.yandex.ru",993,"FROM_ACC","FROM_PASS" );
Folder folder = store.getFolder("Sent");
folder.open(Folder.READ_WRITE);
message.setFlag(Flags.Flag.SEEN, true);
folder.appendMessages(new Message[] {message});
store.close();
} catch (MessagingException mex){ mex.printStackTrace(); }
}