Я подготовил приложение, которое может отправлять почту через smtp.gmail.com
, и это хорошо работает, но когда я запускаю его с помощью докера, я получаю сообщение об ошибке - поскольку он не может подключиться к smtp.gmail.com
. Функция отправки почты является:отправка почты используя внешний smtp из контейнера
public void sendEmal(String body, String mailRecipient){
Properties props = new Properties();
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.port", "465");
try{
Authenticator auth = new SMTPAuthenticator();
Session mailSession = Session.getDefaultInstance(props, auth);
mailSession.setDebug(true);
Transport transport = mailSession.getTransport();
MimeMessage message = new MimeMessage(mailSession);
message.setContent(body, "text/plain");
message.addRecipient(Message.RecipientType.TO,
new InternetAddress("mailRecipient"));
transport.connect();
transport.sendMessage(message,
message.getRecipients(Message.RecipientType.TO));
transport.close();
}
catch(Exception e){
System.out.println(e);
}
}
Это ошибка:
myapp_thirdInst | DEBUG SMTP: trying to connect to host "smtp.gmail.com", port 465, isSSL false
myapp_thirdInst | javax.mail.MessagingException: Unknown SMTP host: smtp.gmail.com;
myapp_thirdInst | nested exception is:
myapp_thirdInst | java.net.UnknownHostException: smtp.gmail.com
myapp_thirdInst | error sending mail
Это первый раз, когда я играю с грузчиком, и после некоторых попыток, он продолжает терпеть неудачу. Я потерялся - может ли кто-нибудь дать мне подсказку, чтобы решить эту проблему?
Можете ли вы разместить свое изображение на карте контейнера? Я видел сверхмалые в прошлом, которые были построены на вершине контейнера с uclibc в качестве библиотеки распознавателей, и это было полностью ошибочно, оно не получило бы 90 из 100 запросов DNS, но работало беспорядочно – Chunko