Как эффективно проверить передачу электронной почты? - PullRequest
0 голосов
/ 10 июня 2018

Я должен протестировать сайт с функцией регистрации на следующей неделе.После регистрации пользователь должен получить электронное письмо, и я должен проверить

  • , было ли получено электронное письмо
  • , если электронное письмо имеет определенный контент (имя пользователя, ссылка для регистрации).

Я буду использовать Selenium.У меня была идея войти в web.de или owa (Outlook) и проверить электронную почту там, но есть ли другой более эффективный способ?Кто-нибудь имеет опыт и может порекомендовать мне хорошую ссылку или решение?

Обратите внимание: тест должен выполняться в одночасье и без заголовка автоматически во время работы в Jenkins.Поэтому я не могу использовать графический инструмент для проверки SMTP-сервера.

1 Ответ

0 голосов
/ 10 июня 2018

Я использую javax mail library , который я считаю очень полезным.

Пример кода:

import javax.mail.*;

private void javaxMailExample() {

    // Set protocol.
    String protocol = "imaps";

    // Set properties.
    Properties props = new Properties();
    props.setProperty("mail.store.protocol", protocol);
    props.setProperty("mail.imaps.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
    props.setProperty("mail.imaps.socketFactory.fallback", "false");
    props.setProperty("mail.imaps.port", "993");
    props.setProperty("mail.imaps.socketFactory.port", "993");

    // Set outlook session.
    Session session = Session.getDefaultInstance(props, null);
    Store store = session.getStore(protocol);

    // Connect to session.
    store.connect("imap-mail.outlook.com", "email@domain.com", "password");

    // Read messages.
    Folder inbox = store.getFolder("INBOX");
    inbox.open(Folder.READ_WRITE);
    Message message = inbox.getMessages()[inbox.getMessages().length - 1];

См. Пример SMTP.

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