*/
	private void loadMail(Player player) {
		int msg = 0;

		String mailBox = WORLD_DIR + world + "\\" + "mail\\mail-" + player.getName() + ".txt";
		String lines[] = null;

		/*
		 * check for existence of mail file, and abort if it doesn't exist (yet?
		 * no file for brand new players until save)
		 */
		File file = new File(mailBox);

		if (!file.exists()) {
			debug("No such mail file!");
			return;
		}

		lines = Utils.loadStrings(mailBox); // load the file into a string array

		if (lines == null) {
			debug("Could not find mail file for user: " + player.getName());
			send("Could not find mail file for user: " + player.getName(), player.getClient());
			return;
		}

		MailBox mb = player.getMailBox();

		final int SENDER = 1;
		final int RECIP = 2;
		final int SUBJECT = 3;
		final int MSG = 4;
		final int FLAG = 5;
		final int MARK = 6;
		final int END = 7;

		String sender = "";
		String recipient = "";
		String subject = "";
		String message = "";
		char flag = ' ';
		char mark = ' ';

		int part = SENDER;

		System.out.println("MSG: " + msg);

		for (final String line : lines) {
			System.out.println("Line: " + line);

			switch (part) {
			case SENDER:
				sender = line;
				part = RECIP;
				break;
			case RECIP:
				recipient = line;
				part = SUBJECT;
				break;
			case SUBJECT:
				subject = line;
				part = MSG;
				break;
			case MSG:
				message = line;
				part = FLAG;
				break;
			case FLAG:
				flag = line.charAt(0);
				part = MARK;
				break;
			case MARK:
				mark = line.charAt(0);
				part = END;
				break;
			default:
				break;
			}

			if (part == END) {
				/*boolean validSender = !sender.equals("");
				boolean validRecipient = !recipient.equals("");
				boolean validSubject = !subject.equals("");
				boolean validMessage = !message.equals("");
				boolean validFlag = flag != ' ' && Utils.mkList("A", "R", "U").contains("" + flag);*/
				
				boolean validSdr = !sender.equals("");
				boolean validRpt = !recipient.equals("");
				boolean validSub = !subject.equals("");
				boolean validMsg = !message.equals("");
				boolean validFlag = flag != ' ' && Utils.mkList("A", "R", "U").contains("" + flag);
				
				if (validSdr && validRpt && validSub && validMsg && validFlag && mark == '~') {
					// create mail object
					Mail mail = new Mail(msg, sender, recipient, subject, message, getDate().toString(), flag);

					// add the mail object to the mailbox
					mb.add(mail);

					msg++;
				}
				else {
					// Invalid Message ...
					debug("Invalid Message!");
					debug("Aborting Mail Loading for " + player.getName() + "...");

					return; // if we found an invalid message we can't depend on the rest of the file to be intact
				}

				sender = "";
				recipient = "";
				subject = "";
				message = "";
				flag = ' ';
				mark = ' ';

				part = SENDER;
			}
		}
	}