Erro ao enviar e-mail

2 respostas
Zeed01

Boa noite Colegas !

Tenho uma classe que envia e-mail.
Ela funciona perfeitamente numa aplicação Desktop.

Eu desenvolvi uma página para envio de e-mail e tentei utilizar a mesma classe, somente alterando de onde pego os dados como endereço de email, assunto, etc…

Agora esta dando uma Exception:

PWC1412: WebModule[/DesvComWebApplication] ServletContext.log():Ocorreu uma exceção : java.lang.SecurityException: Access to default session denied

Alguém pode me ajudar ?
Se for interessante colocar o código me avisem…

Obrigado a todos.

Um abraço.

2 Respostas

cristianonasciment

Essa classe sua faz autenticação ?

Zeed01

Boa noite Colegas !

Segue a minha classe de envio de e-mail:

/*
 * GoogleTest.java
 *
 * Created on 15 de Agosto de 2007, 09:54
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package desvcomwebapplication;

import java.security.Security; 
import java.util.Properties; 

import javax.mail.Message; 
import javax.mail.MessagingException; 
import javax.mail.PasswordAuthentication; 
import javax.mail.Session; 
import javax.mail.Transport; 
import javax.mail.internet.InternetAddress; 
import javax.mail.internet.MimeMessage; 


/**
 *
 * @author r100320
 */ 
public class GoogleTest { 
    
    private static final String SMTP_HOST_NAME = "smtp.gmail.com";     
    private static final String SMTP_PORT = "465";     
    private static final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
    
    public void sendSSLMessage(String recipients[], String subject, String message, String from) throws MessagingException { 
        boolean debug = true; 
        
        Properties props = new Properties(); 
        props.put("mail.smtp.host", SMTP_HOST_NAME); 
        props.put("mail.smtp.auth", "true"); 
        props.put("mail.debug", "true"); 
        props.put("mail.smtp.port", SMTP_PORT); 
        
        
        props.put("mail.smtp.socketFactory.port", SMTP_PORT); 
        props.put("mail.smtp.socketFactory.class", SSL_FACTORY); 
        props.put ("mail.smtp.starttls.enable", "true"); 
        props.put("mail.smtp.socketFactory.fallback", "false"); 
          
        Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
        
        Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() {             
            protected PasswordAuthentication getPasswordAuthentication() { 
                return new PasswordAuthentication("user", "password"); 
            } 
        }); 
        
        //session.setDebug(debug); 
        
        Message msg = new MimeMessage(session); 
        InternetAddress addressFrom = new InternetAddress(from); 
        msg.setFrom(addressFrom); 
        
        InternetAddress[] addressTo = new InternetAddress[recipients.length]; 
        for (int i = 0; i < recipients.length; i++) { 
            addressTo[i] = new InternetAddress(recipients[i]); 
        } 
                
        msg.setRecipients(Message.RecipientType.TO, addressTo); 
        
        msg.setSubject(subject); 
        msg.setContent(message, "text/plain"); 
        
        Transport.send(msg); 
    } 
}
Criado 19 de maio de 2008
Ultima resposta 19 de mai. de 2008
Respostas 2
Participantes 2