Android™
Android™
SMTP XOAUTH2 Authentication
See more SMTP Examples
Demonstrates how to authenticate using an OAuth2 access token. This example assumes you have already obtained the access token and now wish to use it in an SMTP session.Chilkat Android™ Downloads
// Important: Don't forget to include the call to System.loadLibrary
// as shown at the bottom of this code sample.
package com.test;
import android.app.Activity;
import com.chilkatsoft.*;
import android.widget.TextView;
import android.os.Bundle;
public class SimpleActivity extends Activity {
private static final String TAG = "Chilkat";
// Called when the activity is first created.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
boolean success = false;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
String oauth2_access_token = "some_previously_obtained_token";
CkMailMan mailman = new CkMailMan();
// Set the properties for the SMTP server, whatever they may be..
mailman.put_SmtpHost("smtp.example.com");
mailman.put_SmtpPort(587);
mailman.put_StartTLS(true);
mailman.put_SmtpUsername("myLogin");
mailman.put_OAuth2AccessToken(oauth2_access_token);
// Create a new email object
CkEmail email = new CkEmail();
email.put_Subject("This is a test");
email.put_Body("This is a test");
email.put_From("Joe Example <joe@example.com>");
email.AddTo("Chilkat Admin","admin@chilkatsoft.com");
// Connect to the server indicated by the SmtpHost property
success = mailman.SmtpConnect();
if (success != true) {
Log.i(TAG, mailman.lastErrorText());
return;
}
// Authenticate using XOAUTH2 (using the OAuth2AccessToken)
success = mailman.SmtpAuthenticate();
if (success != true) {
Log.i(TAG, mailman.lastErrorText());
return;
}
success = mailman.SendEmail(email);
if (success != true) {
Log.i(TAG, mailman.lastErrorText());
return;
}
Log.i(TAG, "Email sent.");
mailman.CloseSmtpConnection();
}
static {
System.loadLibrary("chilkat");
// Note: If the incorrect library name is passed to System.loadLibrary,
// then you will see the following error message at application startup:
//"The application <your-application-name> has stopped unexpectedly. Please try again."
}
}