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>