1<testcase>
2<info>
3<keywords>
4SMTP
5SASL
6SASL AUTH OAUTH2
7RFC4954
8RFC6749
9RFC7628
10</keywords>
11</info>
12
13#
14# Server-side
15<reply>
16<servercmd>
17AUTH OAUTHBEARER
18REPLY AUTH 334 OAUTHBEARER supported
19REPLY dXNlcj11c2VyAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9OTAwNQFhdXRoPUJlYXJlciBtRl85LkI1Zi00LjFKcU0BAQ== 235 Authenticated
20</servercmd>
21</reply>
22
23#
24# Client-side
25<client>
26<server>
27smtp
28</server>
29 <name>
30SMTP OAuth 2.0 (OAUTHBEARER) authentication
31 </name>
32<stdin>
33mail body
34</stdin>
35 <command>
36smtp://%HOSTIP:%SMTPPORT/946 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T -
37</command>
38# The protocol section doesn't support ways of specifying the raw data in the
39# base64 encoded message so we must assert this
40<precheck>
41perl -e "print 'Test requires default test server host and port' if ( '%HOSTIP' ne '127.0.0.1' || '%SMTPPORT' ne '9005' );"
42</precheck>
43</client>
44
45#
46# Verify data after the test has been "shot"
47<verify>
48<protocol>
49EHLO 946
50AUTH OAUTHBEARER
51dXNlcj11c2VyAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9OTAwNQFhdXRoPUJlYXJlciBtRl85LkI1Zi00LjFKcU0BAQ==
52MAIL FROM:<sender@example.com>
53RCPT TO:<recipient@example.com>
54DATA
55QUIT
56</protocol>
57<upload>
58mail body
59.
60</upload>
61</verify>
62</testcase>
63