Fix bug where msg would be overwritten on sendErrorMail()
This commit is contained in:
parent
72bdacf055
commit
2d9b157b78
@ -88,7 +88,8 @@ public class DMTPConnection implements Runnable {
|
|||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
out.println("ok " + count);
|
if (count != 0)
|
||||||
|
out.println("ok " + count);
|
||||||
} catch (MalformedInputException e) {
|
} catch (MalformedInputException e) {
|
||||||
out.println(e.getMessage());
|
out.println(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|||||||
@ -219,18 +219,19 @@ public class TransferServer implements ITransferServer, Runnable {
|
|||||||
|
|
||||||
private void sendErrorMail(Message msg, String error) {
|
private void sendErrorMail(Message msg, String error) {
|
||||||
logger.info("Trying to send error mail to address " + msg.getFrom());
|
logger.info("Trying to send error mail to address " + msg.getFrom());
|
||||||
|
Message errorMessage = msg;
|
||||||
int port;
|
int port;
|
||||||
try {
|
try {
|
||||||
port = domainLookup(msg.getFrom());
|
port = domainLookup(errorMessage.getFrom());
|
||||||
} catch (UnknownDomain e) {
|
} catch (UnknownDomain e) {
|
||||||
logger.severe("Sending error mail failed because sender domain is unknown");
|
logger.severe("Sending error mail failed because sender domain is unknown");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ArrayList<Email> newTo = new ArrayList<>();
|
ArrayList<Email> newTo = new ArrayList<>();
|
||||||
newTo.add(msg.getFrom());
|
newTo.add(errorMessage.getFrom());
|
||||||
msg.setTo(newTo);
|
errorMessage.setTo(newTo);
|
||||||
try {
|
try {
|
||||||
msg.setFrom(new Email("mailer@127.0.0.1"));
|
errorMessage.setFrom(new Email("mailer@127.0.0.1"));
|
||||||
} catch (MalformedInputException e) {
|
} catch (MalformedInputException e) {
|
||||||
logger.severe("The server's E-Mail address is wrong. This should not be happening!");
|
logger.severe("The server's E-Mail address is wrong. This should not be happening!");
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
@ -243,13 +244,13 @@ public class TransferServer implements ITransferServer, Runnable {
|
|||||||
socketIn.readLine();
|
socketIn.readLine();
|
||||||
socketOut.println("begin");
|
socketOut.println("begin");
|
||||||
socketIn.readLine();
|
socketIn.readLine();
|
||||||
socketOut.println("subject " + msg.getSubject());
|
socketOut.println("subject " + errorMessage.getSubject());
|
||||||
socketIn.readLine();
|
socketIn.readLine();
|
||||||
socketOut.println("data " + error);
|
socketOut.println("data " + error);
|
||||||
socketIn.readLine();
|
socketIn.readLine();
|
||||||
socketOut.println("to " + msg.printTo());
|
socketOut.println("to " + errorMessage.printTo());
|
||||||
socketIn.readLine();
|
socketIn.readLine();
|
||||||
socketOut.println("from " + msg.getFrom().toString());
|
socketOut.println("from " + errorMessage.getFrom().toString());
|
||||||
socketIn.readLine();
|
socketIn.readLine();
|
||||||
socketOut.println("send");
|
socketOut.println("send");
|
||||||
String result = socketIn.readLine();
|
String result = socketIn.readLine();
|
||||||
@ -258,7 +259,7 @@ public class TransferServer implements ITransferServer, Runnable {
|
|||||||
socketIn.close();
|
socketIn.close();
|
||||||
socketOut.close();
|
socketOut.close();
|
||||||
socket.close();
|
socket.close();
|
||||||
sendMonitoringMessage(msg);
|
sendMonitoringMessage(errorMessage);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
logger.severe("Sending error mail failed because socket communication failed");
|
logger.severe("Sending error mail failed because socket communication failed");
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user