diff --git a/grader/pom.xml b/grader/pom.xml
index dcb0673dd..18a91ac6b 100644
--- a/grader/pom.xml
+++ b/grader/pom.xml
@@ -64,7 +64,7 @@
com.icegreen
greenmail
- 2.0.1
+ 2.1.12
test
diff --git a/grader/src/it/java/edu/pdx/cs/joy/grader/GreenmailIntegrationTestCase.java b/grader/src/it/java/edu/pdx/cs/joy/grader/GreenmailIntegrationTestCase.java
index 54454abc1..5240be7f2 100644
--- a/grader/src/it/java/edu/pdx/cs/joy/grader/GreenmailIntegrationTestCase.java
+++ b/grader/src/it/java/edu/pdx/cs/joy/grader/GreenmailIntegrationTestCase.java
@@ -8,14 +8,12 @@
import com.icegreen.greenmail.user.GreenMailUser;
import com.icegreen.greenmail.util.GreenMail;
import com.icegreen.greenmail.util.ServerSetup;
-import com.sun.mail.util.MailSSLSocketFactory;
import jakarta.mail.*;
import jakarta.mail.internet.InternetAddress;
import jakarta.mail.internet.MimeMessage;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
-import java.security.GeneralSecurityException;
import java.util.Properties;
public class GreenmailIntegrationTestCase {
@@ -78,12 +76,10 @@ protected Folder openFolder(Store store, String folderName) throws MessagingExce
return folder;
}
- protected Store connectToIMAPServer() throws GeneralSecurityException, MessagingException {
+ protected Store connectToIMAPServer() throws MessagingException {
Properties props = new Properties();
-
- MailSSLSocketFactory socketFactory = new MailSSLSocketFactory();
- socketFactory.setTrustedHosts(new String[]{"127.0.0.1", "localhost"});
- props.put("mail.imaps.ssl.socketFactory", socketFactory);
+ props.put("mail.imaps.ssl.trust", emailServerHost);
+ props.put("mail.imaps.ssl.checkserveridentity", "false");
Session session = Session.getInstance(props, null);
Store store = session.getStore("imaps");
diff --git a/grader/src/it/java/edu/pdx/cs/joy/grader/poa/POASubmissionsDownloaderIT.java b/grader/src/it/java/edu/pdx/cs/joy/grader/poa/POASubmissionsDownloaderIT.java
index 5e8d6f72d..1ab5de13b 100644
--- a/grader/src/it/java/edu/pdx/cs/joy/grader/poa/POASubmissionsDownloaderIT.java
+++ b/grader/src/it/java/edu/pdx/cs/joy/grader/poa/POASubmissionsDownloaderIT.java
@@ -23,6 +23,7 @@
import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.CoreMatchers.nullValue;
import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.equalToIgnoringCase;
import static org.mockito.Mockito.*;
public class POASubmissionsDownloaderIT extends GreenmailIntegrationTestCase {
@@ -88,7 +89,7 @@ private void assertEmailIsProperlyProcessed(String subject, String poa, String s
POASubmission submission = captor.getValue();
assertThat(submission.getSubject(), equalTo(subject));
assertThat(submission.getContent(), equalTo(poa));
- assertThat(submission.getContentType(), equalTo(contentType));
+ assertThat(submission.getContentType(), equalToIgnoringCase(contentType));
assertThat(submission.getSubmitter(), equalTo(sender));
ArgumentCaptor statusCaptor = ArgumentCaptor.forClass(StatusMessage.class);
diff --git a/grader/src/main/java/edu/pdx/cs/joy/grader/GraderEmailAccount.java b/grader/src/main/java/edu/pdx/cs/joy/grader/GraderEmailAccount.java
index 1614dca45..6bc25a756 100644
--- a/grader/src/main/java/edu/pdx/cs/joy/grader/GraderEmailAccount.java
+++ b/grader/src/main/java/edu/pdx/cs/joy/grader/GraderEmailAccount.java
@@ -1,13 +1,11 @@
package edu.pdx.cs.joy.grader;
import com.google.common.annotations.VisibleForTesting;
-import com.sun.mail.util.MailSSLSocketFactory;
import jakarta.mail.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.IOException;
-import java.security.GeneralSecurityException;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
@@ -280,9 +278,8 @@ private Store connectToIMAPServer() {
Properties props = new Properties();
if (this.trustLocalhostSSL) {
- MailSSLSocketFactory socketFactory= new MailSSLSocketFactory();
- socketFactory.setTrustedHosts("127.0.0.1", "localhost");
- props.put("mail.imaps.ssl.socketFactory", socketFactory);
+ props.put("mail.imaps.ssl.trust", "127.0.0.1 localhost");
+ props.put("mail.imaps.ssl.checkserveridentity", "false");
}
Session session = Session.getInstance(props, null);
@@ -290,7 +287,7 @@ private Store connectToIMAPServer() {
store.connect(this.emailServerHostName, this.emailServerPort, this.userName, this.password);
return store;
- } catch (MessagingException | GeneralSecurityException ex) {
+ } catch (MessagingException ex) {
throw new IllegalStateException("While connecting to " + this.emailServerHostName + ":" + this.emailServerPort, ex);
}
}