Utilicé Spring Boot para desarrollar un proyecto de shell utilizado para enviar correos electrónicos, por ejemplo
sendmail -from foo@bar.com -password foobar -subject "hello world" -to aaa@bbb.com
Si faltan los argumentos fromy password, utilizo un remitente y una contraseña predeterminados, por ejemplo, noreply@bar.comy 123456.
Entonces, si el usuario pasa el fromargumento, también debe pasar el passwordargumento y viceversa. Es decir, ambos son no nulos o ambos son nulos.
¿Cómo verifico esto con elegancia?
Ahora mi camino es
if ((from != null && password == null) || (from == null && password != null)) {
throw new RuntimeException("from and password either both exist or both not exist");
}
Fromdirección de correo electrónico no siempre es el nombre de autenticación SMTP.