Method code for $smtp.negotiate_connect()

[Turn on line numbering]
arg c;
var lines, code, line;

.set_timeout(c, 120);
lines = (> .get_response(c) <);
[code, line] = lines[1];
if (code == 421)
    throw(~notavail, lines.slice(2).join());
if (code != 220)
    throw(~invalid, "Unknown response from server: " + code + " " + line);
.set_timeout(c, 120);
c.write("HELO " + $sys.server_info('server_hostname));
lines = (> .get_response(c) <);
[code, line] = lines[1];
if (code == 250)
    return;
if (code % 500 < 100)
    throw(~syntax, "I'm doing something wrong: " + line);
if (code == 421)
    throw(~notavail, lines.slice(2).join());
throw(~invalid, "Unknown response from server: " + code + " " + line);

// Created 13-Oct-1996 as a part of ColdCore, see: @help Credit

Tlon