отправлять почту с помощью Gmail API в Android
Я использую пример кода в ссылке (SendEmailCtrl.java):https://developers.google.com/gmail/api/guides/sending
Моя деятельность отправляет письмо с примером, я добавляю библиотекуjavax.mail:javax.mail-api:1.5.3
Я не нашел больше примеров, как отправить почту с помощью API Gmail
SharedPreferences settings = getPreferences(Context.MODE_PRIVATE);
credential = GoogleAccountCredential.usingOAuth2(
getApplicationContext(), Arrays.asList(SCOPES))
.setBackOff(new ExponentialBackOff())
.setSelectedAccountName(settings.getString(PREF_ACCOUNT_NAME, null));
mService = new com.google.api.services.gmail.Gmail.Builder(
transport, jsonFactory, credential)
.setApplicationName("Gmail API Application")
.build();
String accName = this.getIntent().getStringExtra("ACCOUNT");
Log.d("TienDH", "ViewActivity - acc : " + accName);
if (accName != null) {
credential.setSelectedAccountName(accName);
settings = getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putString(PREF_ACCOUNT_NAME, accName);
editor.commit();
try {
MimeMessage mm = SendMailCtrl.createEmail(accName, "[email protected]", "Test", "test send mail API");
SendMailCtrl.sendMessage(mService, accName, mm);
Log.d("TienDH", "sent mail");
} catch (MessagingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
Когда я запускаю приложение, я получаю эту ошибку:
Process: com.fourlines.gmailapi, PID: 8270
java.lang.NoClassDefFoundError: com.sun.mail.util.MailLogger
at javax.mail.Session.initLogger(Session.java:226)
at javax.mail.Session.<init>(Session.java:210)
at javax.mail.Session.getDefaultInstance(Session.java:321)
at com.fourlines.gmailapi.SendMailCtrl.createEmail(SendMailCtrl.java:80)
at com.fourlines.gmailapi.ViewEmailActivity.onCreate(ViewEmailActivity.java:68)
at android.app.Activity.performCreate(Activity.java:5275)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2166)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2252)
at android.app.ActivityThread.access$800(ActivityThread.java:139)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1200)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:606)
at dalvik.system.NativeStart.main(Native Method)