1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.apache.james.smtpserver.core;
23
24
25 import java.util.ArrayList;
26 import java.util.Collection;
27
28 import org.apache.avalon.framework.logger.AbstractLogEnabled;
29 import org.apache.james.smtpserver.CommandHandler;
30 import org.apache.james.smtpserver.SMTPSession;
31
32
33
34
35
36 public class HeloCmdHandler extends AbstractLogEnabled implements CommandHandler {
37
38
39
40
41 private final static String COMMAND_NAME = "HELO";
42
43
44
45
46
47
48 public void onCommand(SMTPSession session) {
49 doHELO(session, session.getCommandArgument());
50 }
51
52
53
54
55
56 private void doHELO(SMTPSession session, String argument) {
57 String responseString = null;
58
59 session.getConnectionState().put(SMTPSession.CURRENT_HELO_MODE, COMMAND_NAME);
60 session.getResponseBuffer().append("250 ").append(
61 session.getConfigurationData().getHelloName())
62 .append(" Hello ").append(argument).append(" (").append(
63 session.getRemoteHost()).append(" [").append(
64 session.getRemoteIPAddress()).append("])");
65 responseString = session.clearResponseBuffer();
66 session.writeResponse(responseString);
67 }
68
69
70
71
72 public Collection getImplCommands() {
73 Collection implCommands = new ArrayList();
74 implCommands.add("HELO");
75
76 return implCommands;
77 }
78 }