iOS/IPhone Programming Examples

ChilkatHOMEAndroid™Classic ASPCC++C#C# WinRTDelphi ActiveXDelphi DLLVisual FoxProJavaMFCObjective-CPerlPHP ActiveXPHP ExtensionPowerShellPythonRubySQL ServerUnicode CUnicode C++Visual Basic 6.0VB.NETVB.NET WinRTVBScript

iOS/IPhone Examples

Bounced Email
Digital Certificates
Digital Signatures
DKIM / DomainKey
DSA
Email Object
Encryption
FTP
HTML-to-XML
HTTP
IMAP
MHT / HTML Email
POP3
RSA
MIME
SMTP
Socket
SOCKS Proxy
Spider
SSH Key
SSH
SFTP
Tar
Upload
XML
XMP
Zip


More Examples...
Amazon S3
NTLM
RSS
Atom
PPMD
Deflate
Bzip2
LZW
Diffie-Hellman
Bz2
Character Encoding
CSV

 

 

 

 

 

 

 

 

(IOS) SMTP using SOCKS5, SOCKS4 Proxy

Demonstrates how to communicate with an SMTP server via a SOCKS4 or SOCKS5 proxy.

Chilkat iOS Objective-C Libraries

Chilkat iOS C/C++ Libraries

NSMutableString *strOutput = [NSMutableString stringWithCapacity:1000];

//  The mailman object is used for sending and receiving email.
CkoMailMan *mailman = [[[CkoMailMan alloc] init] autorelease];

//  Any string argument automatically begins the 30-day trial.
BOOL success;
success = [mailman UnlockComponent: @"30-day trial"];
if (success != YES) {
    [strOutput appendString: mailman.LastErrorText];
    [strOutput appendString: @"\n"];
    self.mainTextField.stringValue = strOutput;
    return;
}

//  To use a SOCKS4 or SOCKS5 proxy, simply set the following
//  properties prior to making any calls that communicate with
//  an SMTP server:
//  The SOCKS hostname may be a domain name or
//  IP address:
mailman.SocksHostname = @"www.mysocksproxyserver.com";
mailman.SocksPort = [NSNumber numberWithInt:1080];
mailman.SocksUsername = @"myProxyLogin";
mailman.SocksPassword = @"myProxyPassword";
//  Set the SOCKS version to 4 or 5 based on the version
//  of the SOCKS proxy server:
mailman.SocksVersion = [NSNumber numberWithInt:5];
//  Note: SOCKS4 servers only support usernames without passwords.
//  SOCKS5 servers support full login/password authentication.

//  Set the SMTP server.
mailman.SmtpHost = @"smtp.chilkatsoft.com";

//  Set the SMTP login/password (if required)
mailman.SmtpUsername = @"myUsername";
mailman.SmtpPassword = @"myPassword";

//  Create a new email object
CkoEmail *email = [[[CkoEmail alloc] init] autorelease];

email.Subject = @"This is a test";
email.Body = @"This is a test";
email.From = @"Chilkat Support <support@chilkatsoft.com>";
[email AddTo: @"Chilkat Admin" emailAddress: @"admin@chilkatsoft.com"];

//  Call SendEmail to connect to the SMTP server and send.
//  The connection (i.e. session) to the SMTP server remains
//  open so that subsequent SendEmail calls may use the
//  same connection.
success = [mailman SendEmail: email];
if (success != YES) {
    [strOutput appendString: mailman.LastErrorText];
    [strOutput appendString: @"\n"];
    self.mainTextField.stringValue = strOutput;
    return;
}

//  Some SMTP servers do not actually send the email until
//  the connection is closed.  In these cases, it is necessary to
//  call CloseSmtpConnection for the mail to be  sent.
//  Most SMTP servers send the email immediately, and it is
//  not required to close the connection.  We'll close it here
//  for the example:
success = [mailman CloseSmtpConnection];
if (success != YES) {
    [strOutput appendString: @"Connection to SMTP server not closed cleanly."];
    [strOutput appendString: @"\n"];
}

[strOutput appendString: @"Mail Sent!"];
[strOutput appendString: @"\n"];

self.mainTextField.stringValue = strOutput;



© 2000-2013 Chilkat Software, Inc. All Rights Reserved.