smtp: Allow RCPT TO command to fail for some recipients

Introduces CURLOPT_MAIL_RCPT_ALLLOWFAILS.

Verified with the new tests 3002-3007

Closes #4816
This commit is contained in:
Pavel Volgarev 2020-01-14 17:22:38 -05:00 committed by Daniel Stenberg
parent 23a17e039d
commit 4a4609bf3c
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
22 changed files with 483 additions and 26 deletions

55
tests/data/test3003 Normal file
View file

@ -0,0 +1,55 @@
<testcase>
<info>
<keywords>
SMTP
</keywords>
</info>
#
# Server-side
<reply>
</reply>
#
# Client-side
<client>
<server>
smtp
</server>
<name>
SMTP with multiple and invalid (last) --mail-rcpt and --mail-rcpt-allowfails
</name>
<stdin>
From: different
To: another
body
</stdin>
<command>
smtp://%HOSTIP:%SMTPPORT/3003 --mail-rcpt-allowfails --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-rcpt recipient.three@example.com --mail-rcpt recipient.four@example.com --mail-rcpt invalid.five --mail-from sender@example.com -T -
</command>
</client>
#
# Verify data after the test has been "shot"
<verify>
<protocol>
EHLO 3003
MAIL FROM:<sender@example.com>
RCPT TO:<recipient.one@example.com>
RCPT TO:<recipient.two@example.com>
RCPT TO:<recipient.three@example.com>
RCPT TO:<recipient.four@example.com>
RCPT TO:<invalid.five>
DATA
QUIT
</protocol>
<upload>
From: different
To: another
body
.
</upload>
</verify>
</testcase>