Я використовував весняне завантаження, щоб розробити проект оболонки, який використовується для надсилання електронної пошти, наприклад
sendmail -from foo@bar.com -password foobar -subject "hello world" -to aaa@bbb.com
Якщо аргументи fromта passwordаргументи відсутні, я використовую відправника та пароль за замовчуванням, наприклад, noreply@bar.comта 123456.
Отже, якщо користувач передає fromаргумент, він також повинен передавати passwordаргумент і навпаки. Тобто або обидва є ненульовими, або обидва - недійсними.
Як перевірити це елегантно?
Тепер мій шлях
if ((from != null && password == null) || (from == null && password != null)) {
throw new RuntimeException("from and password either both exist or both not exist");
}
Fromелектронної пошти - це не завжди ім'я автентифікації SMTP.