This commit is contained in:
Tadgh
2021-08-27 16:29:06 -04:00
parent 5038b5bd2c
commit 6e876c1502
5 changed files with 53 additions and 16 deletions

View File

@@ -8,10 +8,16 @@ import ca.uhn.fhir.jpa.model.config.PartitionSettings;
import ca.uhn.fhir.jpa.model.config.PartitionSettings.CrossPartitionReferenceMode;
import ca.uhn.fhir.jpa.model.entity.ModelConfig;
import ca.uhn.fhir.jpa.subscription.channel.subscription.SubscriptionDeliveryHandlerFactory;
import ca.uhn.fhir.jpa.subscription.match.deliver.email.EmailSenderImpl;
import ca.uhn.fhir.jpa.subscription.match.deliver.email.IEmailSender;
import ca.uhn.fhir.jpa.subscription.match.deliver.email.JavaMailEmailSender;
import ca.uhn.fhir.rest.server.mail.MailConfig;
import com.google.common.base.Strings;
import org.apache.commons.lang3.StringUtils;
import org.hl7.fhir.dstu2.model.Subscription;
import org.simplejavamail.api.email.Email;
import org.simplejavamail.api.mailer.Mailer;
import org.simplejavamail.api.mailer.config.TransportStrategy;
import org.simplejavamail.mailer.MailerBuilder;
import org.springframework.boot.env.YamlPropertySourceLoader;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -205,23 +211,20 @@ public class FhirServerConfigCommon {
@Bean()
public IEmailSender emailSender(AppProperties appProperties, Optional<SubscriptionDeliveryHandlerFactory> subscriptionDeliveryHandlerFactory) {
if (appProperties.getSubscription() != null && appProperties.getSubscription().getEmail() != null) {
JavaMailEmailSender retVal = new JavaMailEmailSender();
AppProperties.Subscription.Email email = appProperties.getSubscription().getEmail();
MailConfig mailConfig = new MailConfig();
mailConfig.setSmtpHostname(email.getHost());
mailConfig.setSmtpUseStartTLS(email.getStartTlsRequired());
mailConfig.setSmtpPort(email.getPort());
mailConfig.setSmtpUsername(email.getUsername());
mailConfig.setSmtpPassword(email.getPassword());
EmailSenderImpl emailSender = new EmailSenderImpl(mailConfig);
AppProperties.Subscription.Email email = appProperties.getSubscription().getEmail();
retVal.setSmtpServerHostname(email.getHost());
retVal.setSmtpServerPort(email.getPort());
retVal.setSmtpServerUsername(email.getUsername());
retVal.setSmtpServerPassword(email.getPassword());
retVal.setAuth(email.getAuth());
retVal.setStartTlsEnable(email.getStartTlsEnable());
retVal.setStartTlsRequired(email.getStartTlsRequired());
retVal.setQuitWait(email.getQuitWait());
if(subscriptionDeliveryHandlerFactory.isPresent()) {
subscriptionDeliveryHandlerFactory.get().setEmailSender(emailSender);
}
if(subscriptionDeliveryHandlerFactory.isPresent())
subscriptionDeliveryHandlerFactory.get().setEmailSender(retVal);
return retVal;
}
}
return null;
}