• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

JavaMailSender - co blokuje wysyłanie wiadomości?

HackNation - ogólnopolski hackathon
0 głosów
752 wizyt
pytanie zadane 24 maja 2016 w Java przez Mya Bywalec (2,790 p.)
edycja 24 maja 2016 przez Mya

Pytanie dotyczy aplikacji mvc spring uruchamianej na localhost poprzez glassfish.

Częścią aplikacji jest wysyłanie wiadomości email. Działa to poprawnie gdy uruchamiam aplikację na swoim sprzęcie, jednak po uruchomieniu na innym komputerze, występuje błąd: javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465, response: -1

Jako, że problem nie występuje u mnie (wiadomości są poprawnie wysyłane), domyślam się, że problemem nie jest kod, a konfiguracja systemu / sieci drugiego komputera (win7).

Nie mam dostępu do drugiego komputera, więc rozwiązania muszę szukać na odległość, dlatego proszę bardziej doświadczone osoby o wskazanie co może blokować wysłanie i jak temu zapobiec (np. jak zmienić port, z którego wysłane są wiadomości).

Kod wysłania:    

@Autowired
JavaMailSender mailSender;
//...
String adress = "a@a.com";
String content = "...";
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, false, "utf-8");
message.setText(content, "UTF-8", "html");
helper.setTo(adress);
helper.setSubject("Title");
helper.setFrom("b@b.com");
mailSender.send(message);

Konfiguracja mailSender:

    <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <property name="host" value="smtp.gmail.com" />
        <property name="port" value="465" />
        <property name="username" value="adress@gmail.com" />
        <property name="password" value="password" />
        <property name="javaMailProperties">
            <props>
                <prop key="mail.transport.protocol">smtp</prop>
                <prop key="mail.smtp.auth">true</prop>
                <prop key="mail.smtp.starttls.enable">true</prop>
                <prop key="mail.debug">true</prop>
                <prop key="mail.smtp.socketFactory.port">465</prop>
                <prop key="mail.smtp.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop>
                <prop key="mail.smtp.socketFactory.fallback">false</prop>
            </props>
        </property>
    </bean>

 

komentarz 24 maja 2016 przez Mya Bywalec (2,790 p.)
Dodam, że wysyłanie maila jest blokowane na moim komputerze przez antywirus, ale wyłączenie go rozwiązuje problem.

Na drugim komputerze wyłączenie antywirusa nie pomaga.
1
komentarz 24 maja 2016 przez bumpMind Gaduła (4,260 p.)
Strzał w ciemno: a zapora?
komentarz 24 maja 2016 przez Mya Bywalec (2,790 p.)
Nie jest to kwestia zapory.

Te wiadomości wysyłane są przez port 25? Da się go zmienić, na wypadek gdyby był on zablokowany?
1
komentarz 25 maja 2016 przez bumpMind Gaduła (4,260 p.)

Z tej stronki Google support wynika że pobieranie wiadomości działa na porcie 995 a wysyłanie 587 oraz 465. Z konfiguracji widze że kożystasz z portu drugiego, spróbował bym ustawić go na 587 i przetestować. O ile nie występuje blokowanie portu po stronie programu a tak można wywnioskować z błędu to może zadziała, jest parę wątków na zagranicznych forach o podobnym/takim samym temacie, przykładowo: link co prawda forum .net ale reszta się zgadza :P Edit. po logach wywnioskowałem że chodzi o Gmail stąd takie nakierowanie

komentarz 25 maja 2016 przez Mya Bywalec (2,790 p.)
W liniach 3 i 12 (w drugim kodzie) powinien być ustawiony ten sam port?
komentarz 25 maja 2016 przez bumpMind Gaduła (4,260 p.)

Nie robiłem nigdy programu tego typu (na razie :P) ale myślę że pierwszy port to port na serwerach Gmail zatem tam na pewno powinien być 587 natomiast drugi to konfiguracja SocketFactory czyli lokalny port, jeśli port 587 nie jest na kompie zablokowany albo jeśli nie ma innego dedykowanego to użył bym w obu miejscach tego samego

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 886 wizyt
0 głosów
1 odpowiedź 1,053 wizyt
0 głosów
1 odpowiedź 650 wizyt
pytanie zadane 25 lutego 2018 w PHP przez mi-20 Stary wyjadacz (13,250 p.)

93,626 zapytań

142,551 odpowiedzi

323,036 komentarzy

63,130 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 1452p. - dia-Chann
  2. 1437p. - DziarnowskiJ
  3. 1411p. - Łukasz Piwowar
  4. 1409p. - CC PL
  5. 1388p. - Maurycy W
  6. 1371p. - raydeal
  7. 1369p. - Adrian Wieprzkowicz
  8. 1360p. - Tomasz Bielak
  9. 1335p. - robwarsz
  10. 1141p. - ssynowiec
  11. 1116p. - rucin93
  12. 1100p. - Mariusz Fornal
  13. 885p. - Dominik Łempicki (kapitan)
  14. 847p. - Grzegorz Aleksander Klementowski
  15. 838p. - Wojciech Malicki
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...