Около полугода назад, было написал на Котлине приложение для Андроида, Последнее отправленное сообщение с таким (или подобным) конфигом было сегодня. Сейчас переписал код на Джаве для десктопов, но он почему-то не работает.
private void test() {
try {
String from = "seller@yandex.ru";
String to = "client@gmail.com";
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,"myPassword");
}
});
session.setDebug(true);
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject("Test Mail from Java Program");
message.setText("Some Message");
Transport.send(message);
System.out.println("Email Sent successfully....");
} catch (Exception mex){ mex.printStackTrace(); }
}
Выполнение программы останавливается на строке Transport.send(…), при установленных таймаутах выскакивает соответствующее исключение.
Лог такой:
DEBUG: setDebug: JavaMail version 1.6.2 DEBUG: getProvider() returning
javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle]
DEBUG SMTP: need username and password for authentication DEBUG SMTP:
protocolConnect returning false, host=smtp.yandex.ru, user=Admin,
password= DEBUG SMTP: useEhlo true, useAuth true DEBUG SMTP:
trying to connect to host “smtp.yandex.ru”, port 465, isSSL false
Собственно вопрос: как подключится к СМТП Яндекса?
P.S. можете перенести топик, если считаете, что для него есть более подходящий раздел
Для обхода блокировок я использую OpenVPN, как на дестопе так и на мобильном. Яндекс через браузер работает отлично и СМТП сервер пингуется…
Также пробовал запускать проект на ВПС сервере, который предположительно расположен в РФ - не помогло
Там максимум штук пять сообщений в неделю отправляется. И заказчик хочет через Яндекс. И мне уже интересно почему оно не работает.
Когда писал приложение под Андроид, то изначально использовал Гмаил и у меня в Украине все работало, но его система безопасности не позволила подключится с РФ.