Wednesday, May 16, 2012

Sending emails in java using yahoo and hotmail

Hello friends, previously we discussed how to send emails in java with gmail account. Today I'm going to show you how we can do the same task using yahoo and hotmail. Only few changes are there. Here's the code..
Remember, first you have to add jar file and headers as mentioned here.
http://mihirans.blogspot.com/2012/05/sending-emails-in-java-application.html

YAHOO



public void sendYahooMail(String sender, String passwd, String [] receiver, String sub, String body) throws MessagingException
    {
        String host = "smtp.mail.yahoo.com";
        String from = sender;
        String pass = passwd;
        
        Properties props = System.getProperties();
    
        props.put("mail.smtp.starttls.enable", "true"); 
        props.put("mail.smtp.host", host);
        props.put("mail.smtp.user", from);
        props.put("mail.smtp.password", pass);
        props.put("mail.smtp.port", "465");
        props.put("mail.smtp.auth", "true");

        String[] to = receiver; 

        Session session = Session.getDefaultInstance(props, null);
        MimeMessage message = new MimeMessage(session);
        message.setFrom(new InternetAddress(from));

        InternetAddress[] toAddress = new InternetAddress[to.length];

        // To get the array of addresses
        for( int i=0; i < to.length; i++ ) { 
            toAddress[i] = new InternetAddress(to[i]);
        }
        System.out.println(Message.RecipientType.TO);

        for( int i=0; i < toAddress.length; i++) { 
            message.addRecipient(Message.RecipientType.TO, toAddress[i]);
        }
        message.setSubject(sub);
        message.setText(body);
        Transport transport = session.getTransport("smtps");
        transport.connect(host, from, pass);
        transport.sendMessage(message, message.getAllRecipients());
        transport.close();
    }




HOTMAIL



public void sendHotMail(String sender, String passwd, String [] receiver, String sub, String body) throws MessagingException
    {
        String host = "smtp.live.com";
        String from = sender;
        String pass = passwd;
        
        Properties props = System.getProperties();
    
        props.put("mail.smtp.starttls.enable", "true"); 
        props.put("mail.smtp.host", host);
        props.put("mail.smtp.user", from);
        props.put("mail.smtp.password", pass);
        props.put("mail.smtp.port", "587");
        props.put("mail.smtp.auth", "true");

        String[] to = receiver; // added this line

        Session session = Session.getDefaultInstance(props, null);
        MimeMessage message = new MimeMessage(session);
        message.setFrom(new InternetAddress(from));

        InternetAddress[] toAddress = new InternetAddress[to.length];

        // To get the array of addresses
        for( int i=0; i < to.length; i++ ) { 
            toAddress[i] = new InternetAddress(to[i]);
        }
        System.out.println(Message.RecipientType.TO);

        for( int i=0; i < toAddress.length; i++) {
            message.addRecipient(Message.RecipientType.TO, toAddress[i]);
        }
        message.setSubject(sub);
        message.setText(body);
        Transport transport = session.getTransport("smtp");
        transport.connect(host, from, pass);
        transport.sendMessage(message, message.getAllRecipients());
        transport.close();
    }

Here's my Interface


And here is the button click even of "Send Email" button.

   private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        
        char [] passwd = jPasswordField1.getPassword();
        String spass = "";
        
        String Client = jComboBox1.getSelectedItem().toString();
        
        for (int i = 0; i < passwd.length; i++) 
        {
            spass += passwd[i];
        }
        
        
        String from = jTextField1.getText()+"@"+Client;
        String pass = spass.toString();
        String [] to = jTextField3.getText().toString().split(",");
        String sub = jTextField4.getText().toString();
        String body = jTextArea1.getText().toString();
        
        SendMail s = new SendMail();
        
        try
        {
            if(Client == "gmail.com"){
                s.sendGMail(from,pass,to,sub,body);
            }
            else if(Client == "yahoo.com"){
                s.sendYahooMail(from,pass,to,sub,body);
            }
            else{
                s.sendHotMail(from,pass,to,sub,body);
            }           
        }
        catch(Exception e)
        {
                JOptionPane.showMessageDialog(this, e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
        }
    }  


Ok guyz, that's it. See you again.
Thank You !

1 comment:

  1. Alright...

    What I'm going to tell you may sound really weird, maybe even kind of "strange"

    HOW would you like it if you could just push "Play" to LISTEN to a short, "musical tone"...

    And miraculously attract MORE MONEY to your LIFE???

    I'm talking about hundreds... even thousands of dollars!!!

    Think it's too EASY??? Think it couldn't possibly be REAL?!?

    Well then, I'll be the one to tell you the news..

    Sometimes the greatest miracles life has to offer are also the SIMPLEST!!!

    Honestly, I will PROVE it to you by letting you listen to a real-life "magical money tone" I've synthesized...

    And do it FREE (no strings attached).

    You just press "Play" and watch as your abundance angels fly into your life. starting pretty much right away.

    CLICK here to PLAY the mysterious "Miracle Money-Magnet Tone" - as my gift to you!!!

    ReplyDelete