curl: Added support for --mail-auth

Added an extra command-line argument to support the optional AUTH
parameter in SMTPs MAIL FROM command.
This commit is contained in:
Steve Holme 2012-02-16 13:19:47 +01:00 committed by Daniel Stenberg
parent 674699b212
commit a053560cfa
5 changed files with 11 additions and 0 deletions

View File

@ -60,8 +60,10 @@ void free_config_fields(struct Configurable *config)
Curl_safefree(config->proxy);
Curl_safefree(config->noproxy);
Curl_safefree(config->mail_from);
curl_slist_free_all(config->mail_rcpt);
Curl_safefree(config->mail_auth);
Curl_safefree(config->netrc_file);

View File

@ -77,6 +77,7 @@ struct Configurable {
char *noproxy;
char *mail_from;
struct curl_slist *mail_rcpt;
char *mail_auth;
bool proxytunnel;
bool ftp_append; /* APPE on ftp */
bool mute; /* don't show messages, --silent given */

View File

@ -170,6 +170,7 @@ static const struct LongShort aliases[]= {
{"$E", "proto-redir", TRUE},
{"$F", "resolve", TRUE},
{"$G", "delegation", TRUE},
{"$H", "mail-auth", TRUE},
{"0", "http1.0", FALSE},
{"1", "tlsv1", FALSE},
{"2", "sslv2", FALSE},
@ -813,6 +814,9 @@ ParameterError getparameter(char *flag, /* f or -long-flag */
case 'G': /* --delegation LEVEL */
config->gssapi_delegation = delegation(config, nextarg);
break;
case 'H': /* --mail-auth */
GetStr(&config->mail_auth, nextarg);
break;
}
break;
case '#': /* --progress-bar */

View File

@ -121,6 +121,7 @@ static const char *const helptext[] = {
" -M, --manual Display the full manual",
" --mail-from FROM Mail from this address",
" --mail-rcpt TO Mail to this receiver(s)",
" --mail-auth AUTH Originator address of the original email",
" --max-filesize BYTES Maximum file size to download (H/F)",
" --max-redirs NUM Maximum number of redirects allowed (H)",
" -m, --max-time SECONDS Maximum time allowed for the transfer",

View File

@ -1240,6 +1240,9 @@ int operate(struct Configurable *config, int argc, argv_item_t argv[])
if(config->ssl_allow_beast)
my_setopt(curl, CURLOPT_SSL_OPTIONS, (long)CURLSSLOPT_ALLOW_BEAST);
if(config->mail_auth)
my_setopt_str(curl, CURLOPT_MAIL_AUTH, config->mail_auth);
/* initialize retry vars for loop below */
retry_sleep_default = (config->retry_delay) ?
config->retry_delay*1000L : RETRY_SLEEP_DEFAULT; /* ms */