Доступ к серверу, который содержит postfix и использовать его для отправки почты из весеннего загрузочного приложения - PullRequest
1 голос
/ 20 января 2020

Я создаю службу в приложении весенней загрузки для отправки электронной почты с использованием сервера postfix, проблема в том, что postfix не установлен на моей машине, чтобы войти в postfix, я должен подключиться к удаленному серверу через s sh, а затем используйте постфикс ( постфикс находится внутри контейнера Docker на удаленном сервере ), поэтому внутри удаленного компьютера a следует использовать te lnet для подключения к постфиксу.

Теперь проблема в том, как подключить весеннюю загрузку к postfix? в application.properties a есть следующие свойства:

spring.mail.host=

spring.mail.port=

spring.mail.properties.mail.smtp.auth=false

что должно заполнять внутри хоста и свойства порта?

Пожалуйста, если есть предложения, не стесняйтесь.

Спасибо!

1 Ответ

1 голос
/ 20 января 2020

Просто сделав шаг назад, чтобы выделить конструкции верхнего уровня и то, как они «обычно» сочетаются друг с другом.

1 На определенном уровне абстракции мы можем рассматривать «постфиксный сервер» как сервер с почтой очередь, в которой хранятся отправленные вами письма в ожидании отправки по каналу SMTP (электронная почта) порта 25.

2 Мы можем легко отправлять электронные письма через этот канал в java, используя java mail api [1].

Обратите внимание, что это доступно в Java SE, поэтому мы можем использовать его с пружинной загрузки. Хотя у Spring, вероятно, есть различные почтовые пакеты, которые мы могли бы использовать, использование java Mail API может быть полезно для повторного использования кода вне любой экосистемы Spring

3. При использовании [1] на высоком уровне мы сначала создаем объект сеанса

val session = Session.getInstance(<some properties>, <some auth scheme can be null)

затем мы создадим объект сообщения электронной почты с этим сеансом.

    val msg = new MimeMessage(session)

мы затем отправим его на postfix mailq с именем транспорта c class

    Transport.send(msg);

Пока это происходит на «постфиксном сервере» и объекты сеанса и сообщения построены правильно, ваше сообщение должно в конечном итоге попасть в mailq и быть отправлено по конвейеру. Множество подробностей можно найти в java do c для почтового API, начинающегося здесь

Резюме. Приложение Spring boot с java почтовым API, работающим на сервере с postfix настроить.

...