diff options
author | Steve Holme <steve_holme@hotmail.com> | 2013-11-17 09:45:08 +0000 |
---|---|---|
committer | Steve Holme <steve_holme@hotmail.com> | 2013-11-17 10:09:07 +0000 |
commit | 3c8c9b2779df175f2f740bb6fbe414e0c56f94b6 (patch) | |
tree | 4aa12c7d0c5ffb3a526716787538b32d2da5cf68 | |
parent | b27dc009cfb887eddbcf3f2d8b80f79852cb3ef1 (diff) |
smtp: Changed the default command to HELP when no options are specified
Otherwise a NOOP operation would be performed which a) only returns a
single line response and not a multiline response where -I needs to be
used, and b) provides an inconsistent user experience compared to that
of the POP3 and IMAP protocols.
-rw-r--r-- | docs/curl.1 | 2 | ||||
-rw-r--r-- | docs/libcurl/curl_easy_setopt.3 | 15 | ||||
-rw-r--r-- | lib/smtp.c | 4 |
3 files changed, 10 insertions, 11 deletions
diff --git a/docs/curl.1 b/docs/curl.1 index ce0fe5c2a..7a0a1e023 100644 --- a/docs/curl.1 +++ b/docs/curl.1 @@ -1801,7 +1801,7 @@ Specifies a custom POP3 command to use instead of LIST or RETR. (Added in Specifies a custom IMAP command to use insead of LIST. (Added in 7.30.0) (SMTP) -Specifies a custom SMTP command to use instead of VRFY or NOOP. (Added in 7.34.0) +Specifies a custom SMTP command to use instead of HELP or VRFY. (Added in 7.34.0) If this option is used several times, the last one will be used. .IP "--xattr" diff --git a/docs/libcurl/curl_easy_setopt.3 b/docs/libcurl/curl_easy_setopt.3 index c63920b92..51edaea97 100644 --- a/docs/libcurl/curl_easy_setopt.3 +++ b/docs/libcurl/curl_easy_setopt.3 @@ -2084,11 +2084,11 @@ Instead of LIST and NLST when performing FTP directory listings. .B IMAP -Instead of LIST when issuing IMAP based commands. (Added in 7.30.0) +Instead of LIST when issuing IMAP based requests. (Added in 7.30.0) .B POP3 -Instead of LIST and RETR when issuing POP3 based commands. (Added in 7.26.0) +Instead of LIST and RETR when issuing POP3 based requests. (Added in 7.26.0) For example: @@ -2099,15 +2099,14 @@ DELE and NOOP for example. .B SMTP -When you tell libcurl to use a custom request it will behave as a NOOP or VRFY -request depending on what other options are set. (Added in 7.34.0) +Instead of a HELP or VRFY when issuing SMTP based requests. (Added in 7.34.0) For example: -If the \fICURLOPT_NOBODY\fP option is specified then the request can be used to -specify the RSET command. Otherwise a multiline listing is returned which can -be used to specify a HELP request or, if used in conjuection with the -\fICURLOPT_MAIL_RCPT\fP option, a EXPN request. +Normally a multiline response is returned which can be used, in conjuection with +\fICURLOPT_MAIL_RCPT\fP, to specify an EXPN request. If the \fICURLOPT_NOBODY\fP +option is specified then the request can be used to issue NOOP and RSET +commands. .IP CURLOPT_FILETIME Pass a long. If it is 1, libcurl will attempt to get the modification date of the remote document in this operation. This requires that the remote server diff --git a/lib/smtp.c b/lib/smtp.c index 120afaf80..5675ff4ee 100644 --- a/lib/smtp.c +++ b/lib/smtp.c @@ -571,8 +571,8 @@ static CURLcode smtp_perform_command(struct connectdata *conn) /* Send the VRFY command */ result = Curl_pp_sendf(&conn->proto.smtpc.pp, "VRFY %s", smtp->rcpt->data); else - /* Send the NOOP command */ - result = Curl_pp_sendf(&conn->proto.smtpc.pp, "%s", "NOOP"); + /* Send the HELP command */ + result = Curl_pp_sendf(&conn->proto.smtpc.pp, "%s", "HELP"); if(!result) state(conn, SMTP_COMMAND); |