-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathIMAPTest.fmx
155 lines (155 loc) · 6.08 KB
/
IMAPTest.fmx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
object FormIMAPTest: TFormIMAPTest
Left = 0
Top = 0
Caption = 'IMAP-Test'
ClientHeight = 471
ClientWidth = 816
FormFactor.Width = 320
FormFactor.Height = 480
FormFactor.Devices = [Desktop]
OnCreate = FormCreate
OnDestroy = FormDestroy
DesignerMasterStyle = 0
object btn_Authorization_Code_Flow: TButton
Position.X = 8.000000000000000000
Position.Y = 8.000000000000000000
Size.Width = 185.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
TabOrder = 0
Text = 'Use Authorization Code Flow'
OnClick = btn_Authorization_Code_FlowClick
end
object Memo1: TMemo
Touch.InteractiveGestures = [Pan, LongTap, DoubleTap]
DataDetectorTypes = []
Position.X = 8.000000000000000000
Position.Y = 40.000000000000000000
Size.Width = 801.000000000000000000
Size.Height = 425.000000000000000000
Size.PlatformDefault = False
TabOrder = 4
Viewport.Width = 797.000000000000000000
Viewport.Height = 421.000000000000000000
end
object btn_Test_outlook_IMAP: TButton
Position.X = 728.000000000000000000
Position.Y = 8.000000000000000000
TabOrder = 5
Text = 'Get IMAP'
OnClick = btn_Test_outlook_IMAPClick
end
object btn_Device_Auth_Flow: TButton
Position.X = 400.000000000000000000
Position.Y = 8.000000000000000000
Size.Width = 193.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
TabOrder = 11
Text = 'Use Device Authorization Flow'
OnClick = btn_Device_Auth_FlowClick
end
object Button1: TButton
Position.X = 600.000000000000000000
Position.Y = 8.000000000000000000
Size.Width = 121.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
TabOrder = 15
Text = 'Use ROPC Flow'
OnClick = Button1Click
end
object btn_Client_Credentials_Flow: TButton
Position.X = 200.000000000000000000
Position.Y = 8.000000000000000000
Size.Width = 193.000000000000000000
Size.Height = 22.000000000000000000
Size.PlatformDefault = False
TabOrder = 10
Text = 'Use Client Credentials Flow'
OnClick = btn_Client_Credentials_FlowClick
end
object OAuth2_Authorization_Code: TsgcHTTP_OAuth2_Client
LocalServerOptions.IP = '127.0.0.1'
LocalServerOptions.Port = 8080
LocalServerOptions.RedirectURL = 'http://127.0.0.1:8080'
LocalServerOptions.SSL = False
LocalServerOptions.SSLOptions.VerifyCertificate = False
LocalServerOptions.SSLOptions.VerifyDepth = 0
LocalServerOptions.SSLOptions.Version = tlsUndefined
LocalServerOptions.SSLOptions.OpenSSL_Options.APIVersion = oslAPI_1_0
LocalServerOptions.SSLOptions.OpenSSL_Options.LibPath = oslpNone
LocalServerOptions.SSLOptions.OpenSSL_Options.UnixSymLinks = oslsSymLinksDefault
LocalServerOptions.SSLOptions.OpenSSL_Options.ECDHE = False
LocalServerOptions.SSLOptions.Port = 0
AuthorizationServerOptions.AuthURL = 'https://login.microsoftonline.com/common/oauth2/v2.0/authorize'
AuthorizationServerOptions.Scope.Strings = (
'https://outlook.office.com/IMAP.AccessAsUser.All')
AuthorizationServerOptions.TokenURL = 'https://login.microsoftonline.com/common/oauth2/v2.0/token'
OAuth2Options.GrantType = auth2Code
HTTPClientOptions.TLSOptions.VerifyCertificate = False
HTTPClientOptions.TLSOptions.VerifyDepth = 0
HTTPClientOptions.TLSOptions.Version = tlsUndefined
HTTPClientOptions.TLSOptions.IOHandler = iohOpenSSL
HTTPClientOptions.TLSOptions.OpenSSL_Options.APIVersion = oslAPI_1_0
HTTPClientOptions.TLSOptions.OpenSSL_Options.LibPath = oslpNone
HTTPClientOptions.TLSOptions.OpenSSL_Options.UnixSymLinks = oslsSymLinksDefault
HTTPClientOptions.TLSOptions.SChannel_Options.CertStoreName = scsnMY
HTTPClientOptions.TLSOptions.SChannel_Options.CertStorePath = scspStoreCurrentUser
OnAfterAuthorizeCode = OAuth2_Authorization_CodeAfterAuthorizeCode
OnAfterAccessToken = OAuth2_Authorization_CodeAfterAccessToken
Left = 480
Top = 80
end
object IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL
Destination = 'outlook.office365.com:993'
Host = 'outlook.office365.com'
MaxLineAction = maException
Port = 993
DefaultPort = 0
SSLOptions.Method = sslvTLSv1_2
SSLOptions.SSLVersions = [sslvTLSv1_2]
SSLOptions.Mode = sslmUnassigned
SSLOptions.VerifyMode = []
SSLOptions.VerifyDepth = 0
Left = 480
Top = 232
end
object IdIMAP4: TIdIMAP4
IOHandler = IdSSLIOHandlerSocketOpenSSL1
Port = 993
Host = 'outlook.office365.com'
UseTLS = utUseImplicitTLS
SASLMechanisms = <>
AuthType = iatSASL
MilliSecsToWaitToClearBuffer = 10
Left = 480
Top = 296
end
object OAuth2_Client_Credentials: TsgcHTTP_OAuth2_Client
LocalServerOptions.IP = '127.0.0.1'
LocalServerOptions.Port = 8080
LocalServerOptions.SSL = False
LocalServerOptions.SSLOptions.VerifyCertificate = False
LocalServerOptions.SSLOptions.VerifyDepth = 0
LocalServerOptions.SSLOptions.Version = tlsUndefined
LocalServerOptions.SSLOptions.OpenSSL_Options.APIVersion = oslAPI_1_0
LocalServerOptions.SSLOptions.OpenSSL_Options.LibPath = oslpNone
LocalServerOptions.SSLOptions.OpenSSL_Options.UnixSymLinks = oslsSymLinksDefault
LocalServerOptions.SSLOptions.OpenSSL_Options.ECDHE = False
LocalServerOptions.SSLOptions.Port = 0
OAuth2Options.GrantType = auth2ClientCredentials
HTTPClientOptions.TLSOptions.VerifyCertificate = False
HTTPClientOptions.TLSOptions.VerifyDepth = 0
HTTPClientOptions.TLSOptions.Version = tlsUndefined
HTTPClientOptions.TLSOptions.IOHandler = iohOpenSSL
HTTPClientOptions.TLSOptions.OpenSSL_Options.APIVersion = oslAPI_1_0
HTTPClientOptions.TLSOptions.OpenSSL_Options.LibPath = oslpNone
HTTPClientOptions.TLSOptions.OpenSSL_Options.UnixSymLinks = oslsSymLinksDefault
HTTPClientOptions.TLSOptions.SChannel_Options.CertStoreName = scsnMY
HTTPClientOptions.TLSOptions.SChannel_Options.CertStorePath = scspStoreCurrentUser
OnAfterAccessToken = OAuth2_Client_CredentialsAfterAccessToken
Left = 480
Top = 152
end
end