forked from matux/sikit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSISMTPMessage.h
81 lines (64 loc) · 2.14 KB
/
SISMTPMessage.h
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
//
// SISMTPMessage.h
// SIKit
//
// Created by Matias Pequeno on 10/5/10.
// Copyright 2010 Silicon Illusions, Inc. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <CFNetwork/CFNetwork.h>
enum
{
kSISMTPIdle = 0,
kSISMTPConnecting,
kSISMTPWaitingEHLOReply,
kSISMTPWaitingTLSReply,
kSISMTPWaitingLOGINUsernameReply,
kSISMTPWaitingLOGINPasswordReply,
kSISMTPWaitingAuthSuccess,
kSISMTPWaitingFromReply,
kSISMTPWaitingToReply,
kSISMTPWaitingForEnterMail,
kSISMTPWaitingSendSuccess,
kSISMTPWaitingQuitReply,
kSISMTPMessageSent
};
typedef NSUInteger SISMTPState;
// Message part keys
extern NSString *kSISMTPPartContentDispositionKey;
extern NSString *kSISMTPPartContentTypeKey;
extern NSString *kSISMTPPartMessageKey;
extern NSString *kSISMTPPartContentTransferEncodingKey;
// Error message codes
#define kSKPSMPTErrorConnectionTimeout -5
#define kSISMTPErrorConnectionFailed -3
#define kSISMTPErrorConnectionInterrupted -4
#define kSISMTPErrorUnsupportedLogin -2
#define kSISMTPErrorTLSFail -1
#define kSISMTPErrorInvalidUserPass 535
#define kSISMTPErrorInvalidMessage 550
#define kSISMTPErrorNoRelay 530
@class SISMTPMessage;
@protocol SISMTPMessageDelegate
@required
- (void)messageSent:(SISMTPMessage *)message;
- (void)messageFailed:(SISMTPMessage *)message error:(NSError *)error;
@end
@interface SISMTPMessage : NSObject <NSCopying, NSStreamDelegate>
@property(nonatomic, copy) NSString *login;
@property(nonatomic, copy) NSString *pass;
@property(nonatomic, copy) NSString *relayHost;
@property(nonatomic, retain) NSArray *relayPorts;
@property(nonatomic, assign) BOOL requiresAuth;
@property(nonatomic, assign) BOOL wantsSecure;
@property(nonatomic, assign) BOOL validateSSLChain;
@property(nonatomic, copy) NSString *subject;
@property(nonatomic, copy) NSString *fromEmail;
@property(nonatomic, copy) NSString *toEmail;
@property(nonatomic, copy) NSString *ccEmail;
@property(nonatomic, copy) NSString *bccEmail;
@property(nonatomic, retain) NSArray *parts;
@property(nonatomic, assign) NSTimeInterval connectTimeout;
@property(nonatomic, assign) id <SISMTPMessageDelegate> delegate;
- (BOOL)send;
@end