diff --git a/tlatools/build.gradle b/tlatools/build.gradle
index 08db82ed99e6a16e675c7847d191b504fc9827a6..f39656b73ada45955ab54aa6d6dc0c1daa5560bf 100644
--- a/tlatools/build.gradle
+++ b/tlatools/build.gradle
@@ -13,10 +13,6 @@ repositories {
 	mavenCentral()
 }
 
-dependencies {
-	implementation(files('lib/javax.mail.jar'))
-}
-
 sourceSets {
 	main {
 		java {
diff --git a/tlatools/src/util/MailSender.java b/tlatools/src/util/MailSender.java
index be5f6bb946ff96bce2df829f61941601d9809f68..122fbac897f62288e0e28410672f4d029ee0dcd1 100644
--- a/tlatools/src/util/MailSender.java
+++ b/tlatools/src/util/MailSender.java
@@ -15,17 +15,6 @@ import java.util.Scanner;
 
 import javax.activation.DataHandler;
 import javax.activation.FileDataSource;
-import javax.mail.Message;
-import javax.mail.MessagingException;
-import javax.mail.Multipart;
-import javax.mail.SendFailedException;
-import javax.mail.Session;
-import javax.mail.Transport;
-import javax.mail.internet.AddressException;
-import javax.mail.internet.InternetAddress;
-import javax.mail.internet.MimeBodyPart;
-import javax.mail.internet.MimeMessage;
-import javax.mail.internet.MimeMultipart;
 import javax.naming.NamingException;
 import javax.naming.directory.Attribute;
 import javax.naming.directory.Attributes;
@@ -41,98 +30,6 @@ public class MailSender {
 	public static final String SPEC_NAME = "specName";
 	public static final String MAIL_ADDRESS = "result.mail.address";
 
-	/**
-	 * @param from "Foo bar <foo@bar.com>"
-	 * @param to An email address _with_ domain part (foo@bar.com)
-	 * @param subject
-	 * @param messages
-	 */
-	private static boolean send(final InternetAddress from, final InternetAddress to, final String subject, final String body, final File[] files) {
-		
-		// https://javaee.github.io/javamail/docs/api/com/sun/mail/smtp/package-summary.html
-		final Properties properties = System.getProperties();
-		// Prefer email to be delivered encrypted (assumes to lower likelihood of SMTP
-		// rejection or classification as spam too). Falls back to plain text if SMTP
-		// server does not support starttls.
-		properties.put("mail.smtp.starttls.enable", "true");
-		//properties.put("mail.debug", "true");
-		
-		if (!to.getAddress().contains("@")) {
-			// no domain, no MX record to lookup
-			return false;
-		}
-		List<MXRecord> mailhosts;
-		try {
-			mailhosts = getMXForDomain(to.getAddress().split("@")[1]);
-		} catch (NamingException e) {
-			e.printStackTrace();
-			return false;
-		}
-				
-		// retry all mx host
-		for (int i = 0; i < mailhosts.size(); i++) {
-			final MXRecord mxRecord = mailhosts.get(i);
-			properties.put("mail.smtp.host", mxRecord.hostname);
-			try {
-				final Session session = Session.getDefaultInstance(properties);
-				final Message msg = new MimeMessage(session);
-				msg.setFrom(from);
-				msg.addRecipient(Message.RecipientType.TO, to);
-				msg.setSubject(subject);
-				
-				// not sure why the extra body part is needed here
-				MimeBodyPart messageBodyPart = new MimeBodyPart();
-	
-				final Multipart multipart = new MimeMultipart();
-				
-				// The main body part. Having a main body appears to have a very
-				// positive effect on the spam score compared to emails with
-				// just attachments. It is also visually more appealing to e.g.
-				// Outlook users who otherwise see an empty mail.
-				messageBodyPart = new MimeBodyPart();
-				messageBodyPart.setContent(body, "text/plain");
-				multipart.addBodyPart(messageBodyPart);
-	
-				// attach file(s)
-				for (File file : files) {
-					if (file == null) {
-						continue;
-					}
-					messageBodyPart = new MimeBodyPart();
-					messageBodyPart.setDataHandler(new DataHandler(
-							new FileDataSource(file)));
-					messageBodyPart.setFileName(file.getName());
-					messageBodyPart.setHeader("Content-Type", "text/plain");
-					multipart.addBodyPart(messageBodyPart);
-				}
-		        msg.setContent(multipart);
-				
-		        Transport.send(msg);
-				return true;
-			} catch (SendFailedException e) {
-				final Exception next = e.getNextException();
-				if (next != null && next.getMessage() != null && next.getMessage().toLowerCase().contains("greylist")
-						&& !properties.containsKey((String) properties.get("mail.smtp.host") + ".greylisted")) {
-					// mark receiver as greylisted to not retry over and over again.
-					properties.put((String) properties.get("mail.smtp.host") + ".greylisted", "true");
-					throttleRetry(String.format(
-							"%s EMail Report: Detected greylisting when sending to %s at %s, will retry in %s minutes...",
-							new Date(), to.getAddress(), mxRecord.hostname, 10L), 10L);
-					i = i - 1;
-				} else {
-					throttleRetry(String.format(
-							"%s EMail Report: Slowing down due to errors when sending to %s at %s, will continue in 1 minute...",
-							new Date(), to.getAddress(), mxRecord.hostname, 1L), 1L);
-				}
-			} catch (AddressException e) {
-				e.printStackTrace();
-			} catch (MessagingException e) {
-				e.printStackTrace();
-			}
-		}
-		return false;
-	}
-	
 	private static void throttleRetry(final String msg, long minutes) {
 		try {
 			System.err.println(msg);
@@ -189,7 +86,7 @@ public class MailSender {
 	}
 	
 	// For testing only.
-	public static void main(String[] args) throws AddressException, FileNotFoundException, UnknownHostException {
+	public static void main(String[] args) throws FileNotFoundException, UnknownHostException {
 		MailSender mailSender = new MailSender();
 		mailSender.send();
 	}
@@ -199,23 +96,11 @@ public class MailSender {
 	private String specName = "unknown spec";
 	private File err;
 	private File out;
-	// if null, no Mail is going to be send
-	private InternetAddress[] toAddresses;
-	private InternetAddress from;
-	private InternetAddress fromAlt;
 
-	public MailSender() throws FileNotFoundException, UnknownHostException, AddressException {
+	public MailSender() throws FileNotFoundException, UnknownHostException {
 		ModelInJar.loadProperties(); // Reads result.mail.address and so on.
 		final String mailto = System.getProperty(MAIL_ADDRESS);
 		if (mailto != null) {
-			this.toAddresses = InternetAddress.parse(mailto);
-			
-			this.from = new InternetAddress("TLC - The friendly model checker <"
-					+ toAddresses[0].getAddress() + ">");
-			this.fromAlt = new InternetAddress("TLC - The friendly model checker <"
-					+ System.getProperty("user.name") + "@"
-					+ InetAddress.getLocalHost().getHostName() + ">");
-			
 			// Record/Log output to later send it by email
 			final String tmpdir = System.getProperty("java.io.tmpdir");
 			this.out = new File(tmpdir + File.separator + "MC.out");
@@ -225,7 +110,7 @@ public class MailSender {
 		}
 	}
 	
-	public MailSender(String mainFile) throws FileNotFoundException, UnknownHostException, AddressException {
+	public MailSender(String mainFile) throws FileNotFoundException, UnknownHostException {
 		this();
 		setModelName(mainFile);
 	}
@@ -243,30 +128,8 @@ public class MailSender {
 	}
 
 	public boolean send(List<File> files) {
-		if (toAddresses != null) {
-			files.add(0, out);
-			// Only add the err file if there is actually content 
-			if (err.length() != 0L) {
-				files.add(0, err);
-			}
-			// Try sending the mail with the model checking result to the receivers. Returns
-			// true if a least one email was delivered successfully.
-			boolean success = false;
-			for (final InternetAddress toAddress : toAddresses) {
-				if (send(from, toAddress, "Model Checking result for " + modelName + " with spec " + specName,
-						extractBody(out), files.toArray(new File[files.size()]))) {
-					success = true;
-				} else if (send(fromAlt, toAddress, "Model Checking result for " + modelName + " with spec " + specName,
-						extractBody(out), files.toArray(new File[files.size()]))) {
-					// Try with alternative from address which some receivers might actually accept.
-					success = true;
-				}
-			}
-			return success;
-		} else {
-			// ignore, just signal everything is fine
-			return true;
-		}
+		// ignore, just signal everything is fine
+		return true;
 	}	
     
 	/**