1<testcase> 2<info> 3<keywords> 4SMTP 5SASL 6SASL AUTH OAUTH2 7SASL-IR 8RFC4954 9RFC6749 10RFC7628 11</keywords> 12</info> 13 14# 15# Server-side 16<reply> 17<servercmd> 18AUTH OAUTHBEARER 19REPLY AUTH 334 eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0 20REPLY AQ== 535 Username and Password not accepted. Learn more at\r\n535 http://support.example.com/mail/oauth 21</servercmd> 22</reply> 23 24# 25# Client-side 26<client> 27<server> 28smtp 29</server> 30 <name> 31SMTP OAuth 2.0 (OAUTHBEARER) failure as continuation with initial response 32 </name> 33<stdin> 34mail body 35</stdin> 36 <command> 37smtp://%HOSTIP:%SMTPPORT/949 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - 38</command> 39# The protocol section doesn't support ways of specifying the raw data in the 40# base64 encoded message so we must assert this 41<precheck> 42perl -e "print 'Test requires default test server host and port' if ( '%HOSTIP' ne '127.0.0.1' || '%SMTPPORT' ne '9005' );" 43</precheck> 44</client> 45 46# 47# Verify data after the test has been "shot" 48<verify> 49# 67 - CURLE_LOGIN_DENIED 50<errorcode> 5167 52</errorcode> 53# 54# The multi interface considers a broken "CONNECT" as a prematurely broken 55# transfer and such a connection will not get a "QUIT" 56<protocol> 57EHLO 949 58AUTH OAUTHBEARER dXNlcj11c2VyAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9OTAwNQFhdXRoPUJlYXJlciBtRl85LkI1Zi00LjFKcU0BAQ== 59AQ== 60</protocol> 61</verify> 62</testcase> 63