Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- long currentTime = System.currentTimeMillis();
- long pastThreeHour = currentTime - (AlarmManager.INTERVAL_HOUR * 3);
- String[] selectionArgs = { "" + pastThreeHour, "" + currentTime };
- Cursor cursor = contentResolver.query(uri, null, selection, selectionArgs, "date DESC");
- if (cursor != null && cursor.getCount() > 0) {
- while (cursor.moveToNext()) {
- String number = cursor.getString(cursor.getColumnIndex("address")); // check for null
- String date = cursor.getString(cursor.getColumnIndex("date")); // convert to date its long
- String message_text = cursor.getString(cursor.getColumnIndex("body"));
- String type = cursor.getString(cursor.getColumnIndex("type")); // check type and get names
- // send email from here
- sendSMSEmail(number, date, message_text, type);
- }
- }
- cursor.close();
- }
- public class GMailSender extends javax.mail.Authenticator
- {
- private String mailhost = "smtp.gmail.com";
- private String user;
- private String password;
- private Session session;
- private Multipart _multipart;
- static
- {
- Security.addProvider(new 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);
- _multipart = new MimeMultipart();
- }
- protected PasswordAuthentication getPasswordAuthentication()
- {
- return new PasswordAuthentication(user, password);
- }
- public synchronized void sendMail(String subject, String body, String sender, String recipients) throws Exception
- {
- 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);
- message.setContent(_multipart);
- if (recipients.indexOf(',') > 0)
- message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipients));
- else
- message.setRecipient(Message.RecipientType.TO, new InternetAddress(recipients));
- Transport.send(message);
- }
- public void addAttachment(String filename) throws Exception
- {
- BodyPart messageBodyPart = new MimeBodyPart();
- DataSource source = new FileDataSource(filename);
- messageBodyPart.setDataHandler(new DataHandler(source));
- messageBodyPart.setFileName(filename);
- _multipart.addBodyPart(messageBodyPart);
- }
- 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");
- }
- }
- }
- public final class JSSEProvider extends Provider
- {
- private static final long serialVersionUID = 1L;
- public JSSEProvider()
- {
- super("HarmonyJSSE", 1.0, "Harmony JSSE Provider");
- AccessController.doPrivileged(new java.security.PrivilegedAction<Void>()
- {
- public Void run()
- {
- put("SSLContext.TLS",
- "org.apache.harmony.xnet.provider.jsse.SSLContextImpl");
- put("Alg.Alias.SSLContext.TLSv1", "TLS");
- put("KeyManagerFactory.X509",
- "org.apache.harmony.xnet.provider.jsse.KeyManagerFactoryImpl");
- put("TrustManagerFactory.X509",
- "org.apache.harmony.xnet.provider.jsse.TrustManagerFactoryImpl");
- return null;
- }
- });
- }
- }
- BackgroundMail bm = new BackgroundMail(context);
- bm.setGmailUserName("sendername@gmail.com");
- bm.setGmailPassword("sender_email_password");
- bm.setMailTo("receiver@gmail.com");
- bm.setFormSubject("Subject");
- bm.setFormBody("Body");
- bm.send();
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
- <uses-permission android:name="android.permission.INTERNET"/>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement