Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
RecipientCommand.cs
Go to the documentation of this file.
1namespace System.Net.Mail;
2
3internal static class RecipientCommand
4{
5 internal static IAsyncResult BeginSend(SmtpConnection conn, string to, AsyncCallback callback, object state)
6 {
7 PrepareCommand(conn, to);
8 return CheckCommand.BeginSend(conn, callback, state);
9 }
10
11 private static bool CheckResponse(SmtpStatusCode statusCode, string response)
12 {
13 switch (statusCode)
14 {
15 case SmtpStatusCode.Ok:
16 case SmtpStatusCode.UserNotLocalWillForward:
17 return true;
18 case SmtpStatusCode.MailboxBusy:
19 case SmtpStatusCode.InsufficientStorage:
20 case SmtpStatusCode.MailboxUnavailable:
21 case SmtpStatusCode.UserNotLocalTryAlternatePath:
22 case SmtpStatusCode.ExceededStorageAllocation:
23 case SmtpStatusCode.MailboxNameNotAllowed:
24 return false;
25 default:
26 if (statusCode < (SmtpStatusCode)400)
27 {
29 }
30 throw new SmtpException(statusCode, response, serverResponse: true);
31 }
32 }
33
34 internal static bool EndSend(IAsyncResult result, out string response)
35 {
36 SmtpStatusCode statusCode = (SmtpStatusCode)CheckCommand.EndSend(result, out response);
37 return CheckResponse(statusCode, response);
38 }
39
40 private static void PrepareCommand(SmtpConnection conn, string to)
41 {
42 if (conn.IsStreamOpen)
43 {
45 }
47 conn.BufferBuilder.Append(to, allowUnicode: true);
49 }
50
51 internal static bool Send(SmtpConnection conn, string to, out string response)
52 {
53 PrepareCommand(conn, to);
54 SmtpStatusCode statusCode = CheckCommand.Send(conn, out response);
55 return CheckResponse(statusCode, response);
56 }
57}
static SmtpStatusCode Send(SmtpConnection conn, out string response)
static IAsyncResult BeginSend(SmtpConnection conn, AsyncCallback callback, object state)
static object EndSend(IAsyncResult result, out string response)
static bool Send(SmtpConnection conn, string to, out string response)
static bool CheckResponse(SmtpStatusCode statusCode, string response)
static void PrepareCommand(SmtpConnection conn, string to)
static bool EndSend(IAsyncResult result, out string response)
static IAsyncResult BeginSend(SmtpConnection conn, string to, AsyncCallback callback, object state)
static readonly byte[] CRLF
static readonly byte[] Recipient
static string net_webstatus_ServerProtocolViolation
Definition SR.cs:152
static string SmtpDataStreamOpen
Definition SR.cs:154
Definition SR.cs:7