title: Trying to send an email without email app showing up
body: <p>Hi I'm trying to send an email in the background without the app coming up.  I thought about using GMailSender/JSSE someone mentioned/ I'm having difficultly adding the package to GMailSender this was asked before in <a href="https://stackoverflow.com/questions/31575622/new-com-provider-jsseprovider-cannot-resolve-symbol-provider?answertab=active#tab-top">new com.provider.JSSEProvider() Cannot resolve symbole provider</a> but I get an error when I type in the package name.</p>
  
  <pre><code> static {
          Security.addProvider(new com.queens.feedback.JSSEProvider());
      }
  </code></pre>
  
  <p>full Code </p>
  
  <pre><code>package queens.feedback;
  
  /**
   * Created by 2618436 on 16/06/2016.
   */
  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;
  import java.io.ByteArrayInputStream;
  import java.io.IOException;
  import java.io.InputStream;
  import java.io.OutputStream;
  import java.security.Security;
  import java.util.Properties;
  
  
  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.queens.feedback.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(',') &gt; 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");
          }
      }
  
  }
  </code></pre>
  
  <p>How do I link the package?  </p>