React Native Requires Chilkat v11.0.0+
React Native
SOCKS4, SOCKS5 Proxy for POP3
Demonstrates how to communicate with a POP3 server through a SOCKS4 or SOCKS5 proxy.Chilkat React Native Downloads
import { Email, EmailBundle, MailMan } from '@chilkat/react-native'
async function chilkatExample() {
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// The mailman object is used for receiving (POP3)
// and sending (SMTP) email.
const mailman = new MailMan();
// To use a SOCKS4 or SOCKS5 proxy, simply set the following
// properties prior to making any calls that communicate with
// a POP3 server:
// The SOCKS hostname may be a domain name or
// IP address:
mailman.socksHostname = 'www.mysocksproxyserver.com';
mailman.socksPort = 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 = 5;
// Note: SOCKS4 servers only support usernames without passwords.
// SOCKS5 servers support full login/password authentication.
// Set the POP3 server's hostname
mailman.mailHost = 'pop.example.com';
// Set the POP3 login/password.
mailman.popUsername = 'myLogin';
mailman.popPassword = 'myPassword';
// Copy the all email from the user's POP3 mailbox
// into a bundle object. The email remains on the server.
const bundle = new EmailBundle();
const keepOnServer = true;
const headersOnly = false;
// Irrelevent because we are NOT downloading headers-only
const numBodyLines = 0;
try {
await mailman.fetchAllAsync(keepOnServer, headersOnly, numBodyLines, bundle);
} catch {
console.log(mailman.lastErrorText);
return;
}
const email = new Email();
let i = 0;
while (i < bundle.messageCount) {
bundle.emailAt(i, email);
console.log(`From: ${email.from}`);
console.log(`Subject: ${email.subject}`);
i++;
}
await mailman.pop3EndSessionAsync();
}