Не удается сделать вызов API из почты. Отправьте из библиотеки com.google.appengine с помощью MailService. - PullRequest
0 голосов
/ 25 апреля 2019

проблема в том, что я интегрирую com.google.appengine в свой проект maven и хочу отправлять почту с помощью MailService, но это выдает мне исключение, которое я не знаю, как решить. Это вызывает у меня: «Невозможно заставить API вызывать почту. Отправить в потоке, который не является ни исходным потоком запроса, ни потоком, созданным ThreadManager». Можете ли вы помочь мне, как это исправить? Вот моя зависимость от Maven:

<dependency>
    <groupId>com.google.appengine</groupId>
    <artifactId>appengine-api-1.0-sdk</artifactId>
    <version>1.9.73</version>
</dependency>

А вот и код:

MailService mailService = MailServiceFactory.getMailService();
        Message message = new Message();
        message.setSender("dilian_1995@abv.bg");
        message.setTo("dilyangalabov@gmail.com");
        message.setSubject("Test");
        message.setTextBody("Testt");

        try {
            mailService.send(message);
        }
        catch (IOException e) {
            e.printStackTrace();
        }

1 Ответ

0 голосов
/ 25 апреля 2019

Я делаю сервис отправки почты, используя javax.mail, вот оно.«String to» - это электронное письмо, которое вы хотите отправить.Для отправки через Google я установилPropetry mail.smtp.host на smtp.gmail.com

public class MailSend {
  public static boolean main(String to) throws IOException, MessagingException {
    final Properties properties = new Properties();
    properties.setProperty("mail.transport.protocol", "smtps");
    properties.setProperty("mail.smtps.auth", "true");
    properties.setProperty("mail.smtps.host", "smtp.gmail.com");
    properties.setProperty("mail.smtps.user", "YOUREMAIL@gmail.com");


    Session session = Session.getDefaultInstance(properties);
    MimeMessage message = new MimeMessage(session);
    message.setFrom(new InternetAddress("YOUREMAIL@gmail.com"));
    message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
    message.setSubject("THEME");
    message.setText("TEXT");
    Transport transport = session.getTransport();
    transport.connect("YOUREMAIL@gmail.com", "PASSWORD");
    transport.sendMessage(message, message.getAllRecipients());
    transport.close();

    return true;
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...