Android Open Source - easypgp Gmail Sender






From Project

Back to project page easypgp.

License

The source code is released under:

GNU General Public License

If you think the Android project easypgp listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.sawyer.gmail;
//ww  w  .  ja  v a2s  .co m
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.security.Security;
import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class GmailSender extends javax.mail.Authenticator {
   private String mailhost = "smtp.gmail.com";
   private String user;
   private String password;
   private Session session;

   static {
      Security.addProvider(new com.sawyer.gmail.JSSEProvider());
   }

   public GmailSender(String user, String password) {
      this.user = user;
      this.password = password;

      Properties props = new Properties();
      props.setProperty("mail.transport.protocol", "smtp");
      props.setProperty("mail.host", mailhost);
      props.put("mail.smtp.auth", "true");
      props.put("mail.smtp.port", "465");
      props.put("mail.smtp.socketFactory.port", "465");
      props.put("mail.smtp.socketFactory.class",
            "javax.net.ssl.SSLSocketFactory");
      props.put("mail.smtp.socketFactory.fallback", "false");
      props.setProperty("mail.smtp.quitwait", "false");

      session = Session.getDefaultInstance(props, this);
   }

   protected PasswordAuthentication getPasswordAuthentication() {
      return new PasswordAuthentication(user, password);
   }

   public synchronized void sendMail(String subject, String body,
         String sender, String recipients) throws Exception {
      try {
         MimeMessage message = new MimeMessage(session);
         DataHandler handler = new DataHandler(new ByteArrayDataSource(
               body.getBytes(), "text/plain"));
         message.setSender(new InternetAddress(sender));
         message.setSubject(subject);
         message.setDataHandler(handler);
         if (recipients.indexOf(',') > 0)
            message.setRecipients(Message.RecipientType.TO,
                  InternetAddress.parse(recipients));
         else
            message.setRecipient(Message.RecipientType.TO, new InternetAddress(
                  recipients));
         Transport.send(message);
      } catch (Exception e) {

      }
   }

   public class ByteArrayDataSource implements DataSource {
      private byte[] data;
      private String type;

      public ByteArrayDataSource(byte[] data, String type) {
         super();
         this.data = data;
         this.type = type;
      }

      public ByteArrayDataSource(byte[] data) {
         super();
         this.data = data;
      }

      public void setType(String type) {
         this.type = type;
      }

      public String getContentType() {
         if (type == null)
            return "application/octet-stream";
         else
            return type;
      }

      public InputStream getInputStream() throws IOException {
         return new ByteArrayInputStream(data);
      }

      public String getName() {
         return "ByteArrayDataSource";
      }

      public OutputStream getOutputStream() throws IOException {
         throw new IOException("Not Supported");
      }
   }

}




Java Source Code List

.GmailInbox.java
com.sawyer.adapters.EmailArrayAdapter.java
com.sawyer.easypgp.AppPreferences.java
com.sawyer.easypgp.DecodeFragment.java
com.sawyer.easypgp.EncryptEmail.java
com.sawyer.easypgp.GmailInbox.java
com.sawyer.easypgp.InboxFragment.java
com.sawyer.easypgp.MainActivity.java
com.sawyer.easypgp.NavigationDrawerFragment.java
com.sawyer.easypgp.NfcActivity.java
com.sawyer.easypgp.ShareKeyFragment.java
com.sawyer.easypgp.SingleEmailFragment.java
com.sawyer.gmail.GmailSender.java
com.sawyer.gmail.JSSEProvider.java
com.sawyer.handlers.onClickHandlers.java