Не отправляются письма Java Mail

запустил в Google Play приложение, в котором для регистрации отправляются письма с кодом. Использую для этого библиотеку Java Mail. Проблема в том, что на части устройств все успешно, на другой письма не отправляются и все вылетает. В чем может быть проблема? Привожу код:

String email = Data.getNewUser().getEmail();
        Thread thread = new Thread(() -> {
            // Генерация кода
            code = (int) ((Math.random() * 9 + 1) * 100000);
            ArrayList<String> recipient = new ArrayList<>();
            recipient.add(email);
            // Данные отправляемого письма
            String fromEmail = "[email protected]"; 
            String emailPassword = "password";
            String subject = getActivity().getString(R.string.email_subject);
            String body = getActivity().getString(R.string.email_body) + " " + code;
            MailSender sender = new MailSender(fromEmail, emailPassword, recipient, subject, body);
            // Отправка
            try {
                sender.createEmailMessage();
                sender.sendEmail();
            } catch (Exception e) { // Обработка ошибок
                e.printStackTrace();
                ExceptionManager.showError(e, getContext());
            }
        });

Класс для создания письма:

public class MailSender {

    private final String emailPort = "587";
    private final String smtpAuth = "true";
    private final String starttls = "true";
    private final String emailHost = "smtp.gmail.com";

    private String fromEmail;
    private String fromPassword;
    private List<String> toEmailList;
    private String emailSubject;
    private String emailBody;

    private Properties emailProperties;
    private Session mailSession;
    private MimeMessage emailMessage;

    public MailSender(String fromEmail, String fromPassword,
                 List<String> toEmailList, String emailSubject, String emailBody) {
        this.fromEmail = fromEmail;
        this.fromPassword = fromPassword;
        this.toEmailList = toEmailList;
        this.emailSubject = emailSubject;
        this.emailBody = emailBody;

        emailProperties = System.getProperties();
        emailProperties.put("mail.smtp.port", emailPort);
        emailProperties.put("mail.smtp.auth", smtpAuth);
        emailProperties.put("mail.smtp.starttls.enable", starttls);
    }

    public MimeMessage createEmailMessage() throws AddressException,
            MessagingException, UnsupportedEncodingException {

        mailSession = Session.getDefaultInstance(emailProperties, null);
        emailMessage = new MimeMessage(mailSession);

        emailMessage.setFrom(new InternetAddress(fromEmail, fromEmail));
        for (String toEmail : toEmailList) {
            emailMessage.addRecipient(Message.RecipientType.TO,
                    new InternetAddress(toEmail));
        }

        emailMessage.setSubject(emailSubject);
        emailMessage.setText(emailBody,  "UTF-8");
        return emailMessage;
    }

    public void sendEmail() throws AddressException, MessagingException {

        Transport transport = mailSession.getTransport("smtp");
        transport.connect(emailHost, fromEmail, fromPassword);

        transport.sendMessage(emailMessage, emailMessage.getAllRecipients());
        transport.close();

    }

}

error

error


Ответы (0 шт):