SMTP client will send SIZE parameter in MAIL FROM command only if server
supports it. Without this patch server might say "504 Command parameter
not implemented" and reject the message.
Bug: http://curl.haxx.se/bug/view.cgi?id=
3564114
line += 4;
len -= 4;
+ if(smtpc->state == SMTP_EHLO && len >= 4 && !memcmp(line, "SIZE", 4)) {
+ DEBUGF(infof(conn->data, "Server supports SIZE extension.\n"));
+ smtpc->size_supported = true;
+ }
+
if(smtpc->state == SMTP_EHLO && len >= 5 && !memcmp(line, "AUTH ", 5)) {
line += 5;
len -= 5;
}
/* calculate the optional SIZE parameter */
- if(conn->data->set.infilesize > 0) {
+ if(conn->proto.smtpc.size_supported && conn->data->set.infilesize > 0) {
size = aprintf("%" FORMAT_OFF_T, data->set.infilesize);
if(!size) {
struct curl_slist *rcpt; /* Recipient list */
bool ssldone; /* Is connect() over SSL done? only relevant in
multi mode */
+ bool size_supported; /* If server supports SIZE extension according to
+ RFC 1870 */
};
extern const struct Curl_handler Curl_handler_smtp;