отправить письмо с весенней загрузкой с localhost - PullRequest
0 голосов
/ 13 мая 2018

Я хочу отправить письмо от localhost (mac или linux) куда-нибудь (скажем, на несколько адресов gmail).Только отправляйте электронную почту, никогда не получайте электронную почту, как система push-уведомлений.

Я знаю, что в mac / linux есть программа "sendmail", но теперь мне нужно отправлять электронную почту с весенним загрузочным выпуском 2.0.

На моем Mac: $ which sendmail /usr/sbin/sendmail

Я прочитал учебник по электронной почте для весенней загрузки здесь http://www.baeldung.com/spring-email, и выполнил аналогичную конфигурацию в моем коде, но она не сработала.В этом руководстве «host» mailsendr - «smtp.gmail.com», в этом случае мне нужно, чтобы «host» был localhost (машина, на которой будет запускаться мое приложение для весенней загрузки).

Вот моя конфигурация электронной почты в application.properties:

spring.mail.host=localhost
spring.mail.port=25
spring.mail.protocol=smtp
spring.mail.properties.mail.smtp.auth=false
spring.mail.properties.mail.smtp.starttls.enable=false
spring.mail.properties.mail.smtp.connectiontimeout=5000
spring.mail.properties.mail.smtp.timeout=3000
spring.mail.properties.mail.smtp.writetimeout=5000

При загрузке электронной почты с помощью JavaMailSender (автоматическая связь) сбой при загрузке ниже: org.springframework.mail.MailSendException: Mail server connection failed; nested exception is com.sun.mail.util.MailConnectException: Couldn't connect to host, port: localhost, 25; timeout 5000; nested exception is: java.net.ConnectException: Connection refused (Connection refused). Failed messages: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: localhost, 25; timeout 5000; nested exception is: java.net.ConnectException: Connection refused (Connection refused) at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:446) ~[spring-context-support-5.0.4.RELEASE.jar:5.0.4.RELEASE] at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:321) ~[spring-context-support-5.0.4.RELEASE.jar:5.0.4.RELEASE] at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:310) ~[spring-context-support-5.0.4.RELEASE.jar:5.0.4.RELEASE] at com.ibm.gem.service.EmailServiceImpl.sendSimpleMessage(EmailServiceImpl.java:33) ~[classes/:na] at com.ibm.gem.component.ApplicationStartup.onApplicationEvent(ApplicationStartup.java:39) [classes/:na] at com.ibm.gem.component.ApplicationStartup.onApplicationEvent(ApplicationStartup.java:1) [classes/:na] at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) [spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE] at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) [spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE] at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) [spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE] at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:399) [spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE] at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:353) [spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE] at org.springframework.boot.context.event.EventPublishingRunListener.running(EventPublishingRunListener.java:103) [spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE] at org.springframework.boot.SpringApplicationRunListeners.running(SpringApplicationRunListeners.java:78) [spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:341) [spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1246) [spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1234) [spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE] at com.ibm.gem.PerfInsightApplication.main(PerfInsightApplication.java:11) [classes/:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_151] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_151] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_151] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_151] at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-2.0.0.RELEASE.jar:2.0.0.RELEASE] Caused by: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: localhost, 25; timeout 5000 at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2209) ~[javax.mail-1.6.1.jar:1.6.1] at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:740) ~[javax.mail-1.6.1.jar:1.6.1] at javax.mail.Service.connect(Service.java:366) ~[javax.mail-1.6.1.jar:1.6.1] at org.springframework.mail.javamail.JavaMailSenderImpl.connectTransport(JavaMailSenderImpl.java:515) ~[spring-context-support-5.0.4.RELEASE.jar:5.0.4.RELEASE] at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:435) ~[spring-context-support-5.0.4.RELEASE.jar:5.0.4.RELEASE] ... 21 common frames omitted Caused by: java.net.ConnectException: Connection refused (Connection refused) at java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:1.8.0_151] at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[na:1.8.0_151] at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[na:1.8.0_151] at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[na:1.8.0_151] at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_151] at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0_151] at com.sun.mail.util.WriteTimeoutSocket.connect(WriteTimeoutSocket.java:115) ~[javax.mail-1.6.1.jar:1.6.1] at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:351) ~[javax.mail-1.6.1.jar:1.6.1] at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:239) ~[javax.mail-1.6.1.jar:1.6.1] at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2175) ~[javax.mail-1.6.1.jar:1.6.1] ... 25 common frames omitted

Я думаю, что моя конфигурация в приложении.properties не так, но я не знаю, какова правильная конфигурация.Mac / Linux не имеет встроенного SMTP-сервера, не так ли?Я не знаю, и я не хочу устанавливать один.Я просто хочу, чтобы аналогичная функция, как программа "sendmail".При использовании программы "sendmail" вам не нужно указывать протокол, порт, параметры ssl и т. Д. Я не знаю, почему я должен предоставлять эту информацию при использовании весенней загрузки, и я не знаю, какнайти эту информацию на моем компьютере.

Кто-нибудь может мне помочь?

Заранее спасибо.

1 Ответ

0 голосов
/ 14 мая 2018

Проблема решена.

Оказалось, что Mac (и большинство Linux-систем, на мой взгляд) поставляется с предустановленной почтовой системой postfix .Вам необходимо запустить почтовую систему (которая включает в себя SMTP-сервер) перед отправкой электронной почты с весенней загрузкой.

Используйте команды ниже для запуска и проверки состояния постфикса: $ sudo postfix status $ sudo postfix start

На Mac,Я использую приведенную ниже команду, чтобы проверить, работает ли smtp: $ sudo lsof -i :smtp COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME master 84359 root 13u IPv4 0xacc57a372acc10b 0t0 TCP localhost:smtp (LISTEN) master 84359 root 14u IPv6 0xacc57a379b3eb63 0t0 TCP localhost:smtp (LISTEN) postscree 84562 _postfix 6u IPv4 0xacc57a372acc10b 0t0 TCP localhost:smtp (LISTEN) postscree 84562 _postfix 7u IPv6 0xacc57a379b3eb63 0t0 TCP localhost:smtp (LISTEN)

А в весенней загрузке application.properties мне просто нужна одна строка конфигурации: spring.mail.host=localhost

Это сработало!

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