feat(mail-service): Port-Konflikt behoben, SMTP-Konfig optimiert und dynamisches Plus-Addressing eingefügt
Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
This commit is contained in:
+14
-1
@@ -6,6 +6,7 @@ import jakarta.validation.Valid
|
||||
import jakarta.validation.constraints.Email
|
||||
import jakarta.validation.constraints.NotBlank
|
||||
import org.slf4j.LoggerFactory
|
||||
import org.springframework.beans.factory.annotation.Value
|
||||
import org.springframework.mail.SimpleMailMessage
|
||||
import org.springframework.mail.javamail.JavaMailSender
|
||||
import org.springframework.web.bind.annotation.*
|
||||
@@ -45,6 +46,9 @@ class MailController(
|
||||
) {
|
||||
private val logger = LoggerFactory.getLogger(MailController::class.java)
|
||||
|
||||
@Value("\${spring.mail.username}")
|
||||
private lateinit var baseMailAddress: String
|
||||
|
||||
@PostMapping("/nennung")
|
||||
fun receiveNennung(@Valid @RequestBody request: NennungRequest) {
|
||||
logger.info("Nennung via API erhalten: ${request.vorname} ${request.nachname} für Turnier ${request.turnierNr}")
|
||||
@@ -70,7 +74,16 @@ class MailController(
|
||||
// Bestätigung an Reiter senden
|
||||
try {
|
||||
val message = SimpleMailMessage()
|
||||
message.from = "online-nennen@mo-code.at"
|
||||
|
||||
// Dynamische Absenderadresse mit Plus-Addressing (z.B. online-nennen+26128@mo-code.at)
|
||||
val dynamicFrom = try {
|
||||
val (user, domain) = baseMailAddress.split("@")
|
||||
"$user+${request.turnierNr}@$domain"
|
||||
} catch (e: Exception) {
|
||||
baseMailAddress
|
||||
}
|
||||
|
||||
message.from = dynamicFrom
|
||||
message.setTo(request.email)
|
||||
message.subject = "Bestätigung: Ihre Online-Nennung für Turnier ${request.turnierNr}"
|
||||
message.text = """
|
||||
|
||||
@@ -11,19 +11,12 @@ spring:
|
||||
ddl-auto: update
|
||||
show-sql: true
|
||||
mail:
|
||||
host: ${SPRING_MAIL_HOST:imap.world4you.com}
|
||||
port: ${SPRING_MAIL_PORT:993}
|
||||
host: ${SPRING_MAIL_HOST:smtp.world4you.com}
|
||||
port: ${SPRING_MAIL_PORT:587}
|
||||
username: ${SPRING_MAIL_USERNAME:online-nennen@mo-code.at}
|
||||
password: ${SPRING_MAIL_PASSWORD:}
|
||||
properties:
|
||||
mail:
|
||||
store:
|
||||
protocol: imaps
|
||||
imaps:
|
||||
host: ${SPRING_MAIL_HOST:imap.world4you.com}
|
||||
port: ${SPRING_MAIL_PORT:993}
|
||||
ssl:
|
||||
enable: true
|
||||
smtp:
|
||||
auth: ${SPRING_MAIL_PROPERTIES_MAIL_SMTP_AUTH:true}
|
||||
starttls:
|
||||
|
||||
Reference in New Issue
Block a user