Index: trunk/src/org/expeditee/auth/Actions.java
===================================================================
--- trunk/src/org/expeditee/auth/Actions.java	(revision 1319)
+++ trunk/src/org/expeditee/auth/Actions.java	(revision 1320)
@@ -10,12 +10,15 @@
 import java.nio.file.StandardCopyOption;
 import java.security.InvalidKeyException;
+import java.security.KeyFactory;
 import java.security.KeyPair;
 import java.security.KeyPairGenerator;
 import java.security.KeyStoreException;
 import java.security.NoSuchAlgorithmException;
+import java.security.PrivateKey;
 import java.security.PublicKey;
 import java.security.SecureRandom;
 import java.security.cert.CertificateException;
 import java.security.spec.InvalidKeySpecException;
+import java.security.spec.PKCS8EncodedKeySpec;
 import java.sql.SQLException;
 import java.text.ParseException;
@@ -109,11 +112,19 @@
 	 * @throws KeyStoreException 
 	 * @throws ParseException 
-	 */
-	public static void ToggleBay() throws KeyStoreException, FileNotFoundException, NoSuchAlgorithmException, CertificateException, ClassNotFoundException, SQLException, IOException, ParseException {
+	 * @throws InvalidKeySpecException 
+	 * @throws BadPaddingException 
+	 * @throws IllegalBlockSizeException 
+	 * @throws NoSuchPaddingException 
+	 * @throws InvalidKeyException 
+	 */
+	public static void ToggleBay() throws KeyStoreException, FileNotFoundException, NoSuchAlgorithmException, CertificateException, ClassNotFoundException, SQLException, IOException, ParseException, InvalidKeySpecException, InvalidKeyException, NoSuchPaddingException, IllegalBlockSizeException, BadPaddingException {
 		if (!AuthenticatorBrowser.isAuthenticated()) return;
 		if (!DisplayController.isMailMode()) {
 			MailBay.ensureLink();
 			Mail.clear();
-			AuthenticatorBrowser.getInstance().loadMailDatabase();
+			String keyEncoded = KeyList.PrivateKey.get().getData().get(0);
+			byte[] keyBytes = Base64.getDecoder().decode(keyEncoded);
+			PrivateKey key = KeyFactory.getInstance(AsymmetricAlgorithm).generatePrivate(new PKCS8EncodedKeySpec(keyBytes));
+			Mail.checkMail(key);
 		}
 		DisplayController.ToggleMailMode();
Index: trunk/src/org/expeditee/auth/Mail.java
===================================================================
--- trunk/src/org/expeditee/auth/Mail.java	(revision 1319)
+++ trunk/src/org/expeditee/auth/Mail.java	(revision 1320)
@@ -34,4 +34,5 @@
 import javax.crypto.NoSuchPaddingException;
 
+import org.expeditee.auth.gui.MailBay;
 import org.expeditee.gui.FrameIO;
 import org.expeditee.settings.UserSettings;
@@ -55,5 +56,10 @@
 	public static void sendMail(MailEntry mail, String colleagueName) {
 		// Ensure dead drop area is set up.
-		Path databaseFileDirPath = Paths.get(FrameIO.DEAD_DROPS_PATH).resolve(UserSettings.UserName.get() + "+" + colleagueName);
+		String me = UserSettings.UserName.get().toLowerCase();
+		String them = colleagueName.toLowerCase();
+		Path databaseFileDirPath = Paths.get(FrameIO.DEAD_DROPS_PATH).resolve(me + "+" + them);
+		if (!databaseFileDirPath.toFile().exists()) {
+			databaseFileDirPath = Paths.get(FrameIO.DEAD_DROPS_PATH).resolve(them + "+" + me);
+		}
 		Path databaseFilePath = databaseFileDirPath.resolve(colleagueName + ".db");
 		File databaseFile = databaseFilePath.toFile();
@@ -234,3 +240,23 @@
 		}
 	}
+
+	public static void checkMail(PrivateKey key) throws NoSuchAlgorithmException, NoSuchPaddingException,
+			IllegalBlockSizeException, BadPaddingException, InvalidKeyException, KeyStoreException,
+			FileNotFoundException, CertificateException, IOException, ClassNotFoundException, SQLException, ParseException {
+		MailBay.clear();
+		AuthenticatorBrowser.getInstance().loadMailDatabase();
+		List<MailEntry> mailForLoggingInUser = Mail.getEntries(UserSettings.UserName.get(), key);			
+		for (MailEntry mail: mailForLoggingInUser) {
+			MailBay.addMessage(mail.timestamp, mail.message, mail.message2, mail.options);
+		}
+		
+		// Update last read files.
+		Path deadDropPath = Paths.get(FrameIO.DEAD_DROPS_PATH);
+		for (File connectionDir: deadDropPath.toFile().listFiles()) {
+			if (connectionDir.isDirectory()) {
+				Path deaddropforcontactPath = Paths.get(connectionDir.getAbsolutePath());
+				AuthenticatorBrowser.getInstance().updateLastReadMailTime(deaddropforcontactPath);
+			}
+		}
+	}
 }
Index: trunk/src/org/expeditee/auth/account/Authenticate.java
===================================================================
--- trunk/src/org/expeditee/auth/account/Authenticate.java	(revision 1319)
+++ trunk/src/org/expeditee/auth/account/Authenticate.java	(revision 1320)
@@ -1,8 +1,5 @@
 package org.expeditee.auth.account;
 
-import java.io.File;
 import java.io.IOException;
-import java.nio.file.Path;
-import java.nio.file.Paths;
 import java.security.InvalidKeyException;
 import java.security.KeyFactory;
@@ -29,5 +26,4 @@
 import org.expeditee.auth.AuthenticatorBrowser;
 import org.expeditee.auth.Mail;
-import org.expeditee.auth.Mail.MailEntry;
 import org.expeditee.auth.gui.MailBay;
 import org.expeditee.auth.tags.AuthenticationTag;
@@ -107,17 +103,5 @@
 					byte[] keyBytes = Base64.getDecoder().decode(keyEncoded);
 					PrivateKey key = KeyFactory.getInstance(AsymmetricAlgorithm).generatePrivate(new PKCS8EncodedKeySpec(keyBytes));
-					List<MailEntry> mailForLoggingInUser = Mail.getEntries(UserSettings.UserName.get(), key);			
-					for (MailEntry mail: mailForLoggingInUser) {
-						MailBay.addMessage(mail.timestamp, mail.message, mail.message2, mail.options);
-					}
-					
-					// Update last read files.
-					Path deadDropPath = Paths.get(FrameIO.DEAD_DROPS_PATH);
-					for (File connectionDir: deadDropPath.toFile().listFiles()) {
-						if (connectionDir.isDirectory()) {
-							Path deaddropforcontactPath = Paths.get(connectionDir.getAbsolutePath());
-							AuthenticatorBrowser.getInstance().updateLastReadMailTime(deaddropforcontactPath);
-						}
-					}
+					org.expeditee.auth.Mail.checkMail(key);
 				} else {
 					res.additionalInfo.add("No private key present: your communication with other Expeditee users will be limited until this is resolved.");
@@ -163,5 +147,5 @@
 		return AuthenticationResult.SuccessLogout;
 	}
-
+	
 	public enum AuthenticationResult {
 
