3 Replies Latest reply: Jul 4, 2012 6:39 AM by br3t3s RSS

Seam  2 and javax.mail.NoSuchProviderException: smtp

br3t3s Newbie

Hi!

 

I have a problem with sending mail using Java Mail API. I've added dependencies on my EAR project pom.xml.

 

                         <dependency>
                              <groupId>javax.mail</groupId>
                              <artifactId>mail</artifactId>
                              <version>1.4.5</version>
                              <scope>provided</scope>
                    </dependency>

                    <dependency>
                              <groupId>javax.activation</groupId>
                              <artifactId>activation</artifactId>
                              <version>1.1</version>
                              <scope>provided</scope>
                    </dependency>

 

When I'm running my app on JBoss 6.1 and execute action always see on console log javax.mail.NoSuchProviderException: smtp.

 

I don't want to use Seam Mail. I'm trying to write my own simple mail client.

 

Can anyone tell me how to configure Seam application to avoid javax.mail.NoSuchProviderException: smtp ?

 

My test bean sending a mail

 

@Scope(ScopeType.PAGE)
@Name("message")
public class MessageBean {

public void send() {
                    Properties props = System.getProperties();
                    props.put("mail.smtp.host", "smtp.gmail.com");
                    props.put("mail.smtp.socketFactory.port", "465");
                    props.put("mail.smtp.socketFactory.class",
                                        "javax.net.ssl.SSLSocketFactory");
                    props.put("mail.smtp.auth", "true");
                    props.put("mail.smtp.port", "465");


                    Session session = Session.getDefaultInstance(props,
                                        new javax.mail.Authenticator() {
                                                  @Override
                                                  protected PasswordAuthentication getPasswordAuthentication() {
                                                            return new PasswordAuthentication("test@gmail.com",
                                                                                "aaa");
                                                  }
                                        });


                    try {


                              Message message = new MimeMessage(session);
                              message.setFrom(new InternetAddress("test@gmail.com"));
                              message.setRecipients(Message.RecipientType.TO,
                                                  InternetAddress.parse("test@gmail.com"));
                              message.setSubject("Testing Subject");
                              message.setText("Test message text!");


                              Transport.send(message);


                              System.out.println("Done");


                    } catch (MessagingException e) {
                              throw new RuntimeException(e);
                    }


          }


}