C:\projetos\agenda\EnviandoEmailGmail\build\generated\src\org\apache\jsp\email_jsp.java:67: SendMail() is not public in meupacote.SendMail; cannot be accessed from outside package
SendMail sm = new SendMail();
^
1 error
A classe SendMail é pública e está dentro do pacote meupacote, e está falando q não pode ser acessado por q não é publica. pq ?
Cara assim fica muito difícil, se o compilador esta dizendo que não é publica é porque não é.
posta a classe ai.
malves_info
Conselho… segue um padrão de projeto…não mistura teu codigo java com jsp… da uma olhada em servlets, struts fica mais facil de tu da manutenção no codigo… reaproveitar…
[]'s
cristianonasciment
SendMail.java
packagemeupacote;importjava.util.Properties;importjavax.mail.Message;importjavax.mail.Session;importjavax.mail.Transport;importjavax.mail.internet.InternetAddress;importjavax.mail.internet.MimeMessage;importjavax.mail.Authenticator;importjavax.mail.PasswordAuthentication;publicclassSendMail{privateStringmailSMTPServer;privateStringmailSMTPServerPort;/* * quando instanciar um Objeto ja sera atribuido o servidor SMTP do GMAIL * e a porta usada por ele */SendMail(){//Para o GMAIL mailSMTPServer="smtp.gmail.com";mailSMTPServerPort="465";}/* * caso queira mudar o servidor e a porta, so enviar para o contrutor * os valor como string *//*SendMail(String mailSMTPServer, String mailSMTPServerPort) { //Para outro Servidor this.mailSMTPServer = mailSMTPServer; this.mailSMTPServerPort = mailSMTPServerPort; } */publicvoidsendMail(Stringfrom,Stringto,Stringsubject,Stringmessage){Propertiesprops=newProperties();props.put("mail.transport.protocol","smtp");//define protocolo de envio como SMTP props.put("mail.smtp.starttls.enable","true");props.put("mail.smtp.host",mailSMTPServer);//server SMTP do GMAIL props.put("mail.smtp.auth","true");//ativa autenticacao props.put("mail.smtp.user",from);//usuario ou seja, a conta que esta enviando o email (tem que ser do GMAIL) props.put("mail.debug","true");props.put("mail.smtp.port",mailSMTPServerPort);//porta props.put("mail.smtp.socketFactory.port",mailSMTPServerPort);//mesma porta para o socket props.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");props.put("mail.smtp.socketFactory.fallback","false");//Cria um autenticador que sera usado a seguir SimpleAuthauth=null;auth=newSimpleAuth("[email removido]","140948");//Session - objeto que ira realizar a conexão com o servidor /*Como há necessidade de autenticação é criada uma autenticacao que * é responsavel por solicitar e retornar o usuário e senha para * autenticação */Sessionsession=Session.getDefaultInstance(props,auth);session.setDebug(true);//Habilita o LOG das ações executadas durante o envio do email //Objeto que contém a mensagem Messagemsg=newMimeMessage(session);try{//Setando o destinatário msg.setRecipient(Message.RecipientType.TO,newInternetAddress(to));//Setando a origem do email msg.setFrom(newInternetAddress(from));//Setando o assunto msg.setSubject(subject);//Setando o conteúdo/corpo do email msg.setContent(message,"text/plain");}catch(Exceptione){System.out.println(">> Erro: Completar Mensagem");e.printStackTrace();}//Objeto encarregado de enviar os dados para o email Transporttr;try{tr=session.getTransport("smtp");//define smtp para transporte /* * 1 - define o servidor smtp * 2 - seu nome de usuario do gmail * 3 - sua senha do gmail */tr.connect(mailSMTPServer,"[email removido]","140948");msg.saveChanges();// don't forget this //envio da mensagem tr.sendMessage(msg,msg.getAllRecipients());tr.close();}catch(Exceptione){// TODO Auto-generated catch block System.out.println(">> Erro: Envio Mensagem");e.printStackTrace();}}}classSimpleAuthextendsAuthenticator{publicStringusername=null;publicStringpassword=null;publicSimpleAuth(Stringuser,Stringpwd){username=user;password=pwd;}protectedPasswordAuthenticationgetPasswordAuthentication(){returnnewPasswordAuthentication(username,password);}}
elvisleyaraujo
Coloque seu construtor como público
na linha 21 coloque
public SendMail() { //Para o GMAIL
mailSMTPServer = "smtp.gmail.com";
mailSMTPServerPort = "465";
}