Salve, sono nuovo del forum ma spesso ne ho preso spunti utili;
provando a scrivere una applicazione in java che alla registrazione di un utente gli manda una email non riesco, mi viene restituita una eccezione e vorrei chiedere cosa c'è di sbagliato e come poter risolvere, a me interessa solo poter inviare una mail!
L'indirizzo dal quale la mail dovrebbe partire è di gmail : es. prova @ gmail.com
ho seguito quanto messo in questa discussione: http://forum.html.it/forum/showthrea...eadid=1419293&
questa è la chiamata:
e questa la classe EmailSender.java:codice:EmailSender emailDaMandare = new EmailSender("----@gmail.com", "---------", "----@gmail.com", emailNuovoUtente, "OGGETTO: Recupero password", informazioniRegistrazione); emailDaMandare.inviaEmail();
sulla console mi viene mostrato questo:codice:import javax.mail.*; import javax.mail.internet.*; import com.sun.mail.smtp.SMTPSSLTransport; import java.util.Properties; public class EmailSender { private static final String SMTP_HOST_NAME = "smtp.gmail.com"; private static final int SMTP_HOST_PORT = 465; private String SMTP_AUTH_USER = "user@gmail.com"; private String SMTP_AUTH_PWD = "pass"; private String subject = "oggetto"; private String[] informazioni; private String destinatario; public EmailSender(String username, String password, String mittente, String destinatario, String oggetto, String[] informazioniRegistrazione){ // TODO Auto-generated constructor stub SMTP_AUTH_USER = username; SMTP_AUTH_PWD = password; subject = oggetto; informazioni = informazioniRegistrazione; this.destinatario = destinatario; } public void inviaEmail() { Properties props = new Properties(); props.put("mail.transport.protocol", "smtps"); props.put("mail.smtps.host", SMTP_HOST_NAME); props.put("mail.smtps.auth", "true"); props.put("mail.smtp.starttls.enable","true"); // props.put("mail.smtps.quitwait", "false"); try { Session mailSession = Session.getDefaultInstance(props); mailSession.setDebug(true); MimeMessage message = new MimeMessage(mailSession); message.setSubject(subject); if(informazioni[0].equals("Registrazione")) message.setContent("Benvenuto " + informazioni[1] + " " + informazioni[2] + "!!!\nti diamo il benvenuto!\n\nI tuoi dati di accesso sono:\nusername = " + informazioni[3] + "\npassword = " + informazioni[4], "text/plain"); else message.setContent("Salve utente " + destinatario + ",\nin merito alla tua richiesta di recupero, ecco la tua password:\n\t\t" + informazioni[0], "text/plain"); // message.setContent("This is a test", "text/plain"); message.addRecipient(Message.RecipientType.TO, new InternetAddress(destinatario)); SMTPSSLTransport transport = (SMTPSSLTransport)mailSession.getTransport("smtps"); transport.connect(SMTP_HOST_NAME, SMTP_HOST_PORT, SMTP_AUTH_USER, SMTP_AUTH_PWD); transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO)); transport.close(); } catch (Exception e) { System.out.println(e); } } }
Loading javamail.default.providers from jar:file:/C:/Program%20Files/eclipse2/workspace_Eclipse/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/RestfulWebServiceProject/WEB-INF/lib/javax.mail_1.4.0.v201005080615.jar!/META-INF/javamail.default.providers
DEBUG: loading new provider protocol=smtp, className=org.apache.geronimo.javamail.transport.s mtp.SMTPTransport, vendor=Apache Software Foundation, version=1.0
DEBUG: loading new provider protocol=smtps, className=org.apache.geronimo.javamail.transport.s mtp.SMTPTSransport, vendor=Apache Software Foundation, version=1.0
DEBUG: loading new provider protocol=nntp-post, className=org.apache.geronimo.javamail.transport.n ntp.NNTPTransport, vendor=Apache Software Foundation, version=1.0
DEBUG: loading new provider protocol=nntp, className=org.apache.geronimo.javamail.store.nntp. NNTPStore, vendor=Apache Software Foundation, version=1.0
DEBUG: loading new provider protocol=pop3, className=org.apache.geronimo.javamail.store.pop3. POP3Store, vendor=Apache Software Foundation, version=1.0
DEBUG: getProvider() returning provider protocol=smtps; type=javax.mail.Provider$Type@4ac66122; class=org.apache.geronimo.javamail.transport.smtp. SMTPTSransport; vendor=Apache Software Foundation;version=1.0
javax.mail.NoSuchProviderException: Unable to load class for provider: protocol=smtps; type=javax.mail.Provider$Type@4ac66122; class=org.apache.geronimo.javamail.transport.smtp. SMTPTSransport; vendor=Apache Software Foundation;version=1.0

Rispondi quotando
