aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Holme <steve_holme@hotmail.com>2013-11-17 09:45:08 +0000
committerSteve Holme <steve_holme@hotmail.com>2013-11-17 10:09:07 +0000
commit3c8c9b2779df175f2f740bb6fbe414e0c56f94b6 (patch)
tree4aa12c7d0c5ffb3a526716787538b32d2da5cf68
parentb27dc009cfb887eddbcf3f2d8b80f79852cb3ef1 (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.12
-rw-r--r--docs/libcurl/curl_easy_setopt.315
-rw-r--r--lib/smtp.c4
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);