Зайти на почту через Java

141
24 мая 2021, 22:20

в общем пишу бота для множественного входа на почту (для себя). есть 300 почт, нужно поочередно на них заходить и выходить так, чтобы сервер понимал, что был произведен вход.

Нашел такой вот код в интернете:

import java.util.*;
import java.io.*;
import java.nio.file.*;
import javax.mail.*;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.*;

public class Main {
    public static void main(String args[]) throws MessagingException {
       /* Properties properties = new Properties();
        //Хост или IP-адрес почтового сервера
        properties.put("mail.smtp.host", "smtp.mail.ru");
        //Требуется ли аутентификация для отправки сообщения
        properties.put("mail.smtp.auth", "true");
        //Порт для установки соединения
        properties.put("mail.smtp.socketFactory.port", "465");
        //Фабрика сокетов, так как при отправке сообщения Yandex требует SSL-соединения
        properties.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
        //Создаем соединение для отправки почтового сообщения
        Session session = Session.getDefaultInstance(properties,
                //Аутентификатор - объект, который передает логин и пароль
                new Authenticator() {
                    @Override
                    protected PasswordAuthentication getPasswordAuthentication() {
                        return new PasswordAuthentication("something.some.mail.ru", "dragon01");
                    }
                });
        //Создаем новое почтовое сообщение
        Message message = new MimeMessage(session);
        //От кого
        message.setFrom(new InternetAddress("something.some.mail.ru"));
        //Кому
        message.setRecipient(Message.RecipientType.TO, new InternetAddress("dgylagc007@gmail.com"));
        //Тема письма
        message.setSubject("Очень важное письмо!!!");
        //Текст письма
        message.setText("Hello, Email!");
        //Поехали!!!
        Transport.send(message);*/


        Properties props = new Properties();
        //настройки почтового сервера
        props.put("mail.transport.protocol", "smtps");
        props.put("mail.smtps.host", "smtp.mail.ru");
        props.put("mail.smtps.auth", "true");
        props.put("mail.smtp.sendpartial", "true");
        Session session = Session.getDefaultInstance(props);
        //создаем сообщения
        /*MimeMessage message = new MimeMessage(session);
        //устанавливаем тему письма
        message.setSubject("тестовое письмо!");
        //указываем получателя
        message.addRecipient(Message.RecipientType.TO, new InternetAddress("see574@yandex.ru"));
        //указываем дату отправления
        message.setSentDate(new Date());*/
        //логин и пароль
        String userLogin = "something.some@mail.ru";
        String userPassword = "password";
        //авторизируемся на сервере
               Transport transport = session.getTransport();
               transport.connect("smtp.mail.ru", 465, userLogin, userPassword);


        //отправляем сообщение
        //transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));
    }
}

в среде разработки все компилируется и пишет Process finished with exit code 0.

Запускают через командную строку и получаю:

C:\Users\Илья>java C:\Users\Илья\IdeaProjects\JavaComingMails\src\Main.java
C:\Users\╚ы№ \IdeaProjects\JavaComingMails\src\Main.java:5: error: package javax.mail.internet does not exist
import javax.mail.internet.MimeMessage;
                          ^
C:\Users\╚ы№ \IdeaProjects\JavaComingMails\src\Main.java:10: error: cannot find symbol
    public static void main(String args[]) throws MessagingException {
                                                  ^
  symbol:   class MessagingException
  location: class Main
C:\Users\╚ы№ \IdeaProjects\JavaComingMails\src\Main.java:4: error: package javax.mail does not exist
import javax.mail.*;
^
C:\Users\╚ы№ \IdeaProjects\JavaComingMails\src\Main.java:6: error: package javax.mail.internet does not exist
import javax.mail.internet.*;
^
C:\Users\╚ы№ \IdeaProjects\JavaComingMails\src\Main.java:55: error: cannot find symbol
        Session session = Session.getDefaultInstance(props);
        ^
  symbol:   class Session
  location: class Main
C:\Users\╚ы№ \IdeaProjects\JavaComingMails\src\Main.java:55: error: cannot find symbol
        Session session = Session.getDefaultInstance(props);
                          ^
  symbol:   variable Session
  location: class Main
C:\Users\╚ы№ \IdeaProjects\JavaComingMails\src\Main.java:76: error: cannot find symbol
               Transport transport = session.getTransport();
               ^
  symbol:   class Transport
  location: class Main
7 errors
error: compilation failed

т.к. начинающий не понял в чем проблема компиляции и подойдет ли вообще этот метод написания для такого бота.

READ ALSO
Как cделать рейтинг игроков? (java)

Как cделать рейтинг игроков? (java)

Есть код игры "Угадай число"Но рейтинг участников вывести не могу

124
Как в HashMap увеличить значение числа

Как в HashMap увеличить значение числа

Как HashMap<String, Integer> map увеличить значение числа, например, я вставил в map значение: mapput("example", 5); и как его по ключу увеличить?

137
Смена fragment в CountDownTimer

Смена fragment в CountDownTimer

уважаемые программисты и кодеры, возникла следующая проблема, которую я уже безуспешно пытаюсь исправить без малого деньУ меня есть метод...

103
Почему нестатические поля и блоки инициализируются раньше конструктора класса?

Почему нестатические поля и блоки инициализируются раньше конструктора класса?

Ведь конструктор и занимается инициализированием нестатических полей классаНо везде пишут, что нестатические поля и блоки инициализируются...

87