Advertisement
Chiddix

TextSender

Dec 2nd, 2012
263
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.56 KB | None | 0 0
  1. import java.util.Properties;
  2.  
  3. import javax.mail.Message;
  4. import javax.mail.PasswordAuthentication;
  5. import javax.mail.Session;
  6. import javax.mail.Transport;
  7. import javax.mail.internet.InternetAddress;
  8. import javax.mail.internet.MimeMessage;
  9.  
  10. public class TextSender {
  11.    
  12.     private final Carrier carrier;
  13.     private final Properties mail;
  14.     private final Session session;
  15.    
  16.     public TextSender(final String email, final String password, final Carrier carrier) {
  17.         this.carrier = carrier;
  18.        
  19.         this.mail = new Properties();
  20.         this.mail.put("mail.smtp.auth", "true");
  21.         this.mail.put("mail.smtp.starttls.enable", "true");
  22.         this.mail.put("mail.smtp.host", "smtp.gmail.com");
  23.         this.mail.put("mail.smtp.port", "587");
  24.        
  25.         this.session = Session.getInstance(mail, new javax.mail.Authenticator() {
  26.             protected PasswordAuthentication getPasswordAuthentication() {
  27.                 return new PasswordAuthentication(email, password);
  28.             }
  29.         });
  30.     }
  31.    
  32.     public void send(String phoneNumber, String textMessage) throws Exception {
  33.         Message message = new MimeMessage(session);
  34.         message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(phoneNumber + carrier.getCarrier()));
  35.        
  36.         message.setText(textMessage);
  37.  
  38.         Transport.send(message);
  39.     }
  40.  
  41.     public enum Carrier {
  42.         ATT("@txt.att.net"), SPRINT("@messaging.sprintpcs.com"), TMOBILE("@tmomail.net"),
  43.         VERIZON("@vtext.com"), VIRGIN("@vmobl.com");
  44.        
  45.         private String carrier;
  46.        
  47.         private Carrier(String carrier) {
  48.             this.carrier = carrier;
  49.         }
  50.        
  51.         public String getCarrier() {
  52.             return carrier;
  53.         }
  54.        
  55.     }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement