Ciao,
ho seguito un tutorial per l'invio di una mail in automatico.
In pratica voglio che al click di un button venga inviata una mail di conferma.
Non riesco a inviare la mail e mi da warning.
Ho importato le seguenti librerie:
mail.jar
activation.jar
additionnal.jar
Questo il mio codice:
Questa la classe Mail:codice:private class InviaEmailTask extends AsyncTask<Void,Void,Void> { @Override protected Void doInBackground(Void... params) { Mail m = new Mail("info@miodominio.it", "miaPsw"); String[] toArr = {aaa@gmail.com}; m.setTo(toArr); m.setFrom("info@miodominio.it"); m.setSubject("iscrizione"); m.setBody("corpo email"); try { m.send(); pd.dismiss(); Toast.makeText(IscrizioneActivity.this, "Iscrizione avvenuta con successo", Toast.LENGTH_SHORT).show(); finish(); } catch (Exception e1) { e1.printStackTrace(); }
e infine questo è il warning che non mi permette di inviare la mail:codice:public class Mail extends javax.mail.Authenticator { private String _user; private String _pass; private String[] _to; private String _from; private String _port; private String _sport; private String _host; private String _subject; private String _body; private boolean _auth; private boolean _debuggable; private Multipart _multipart; public Mail() { _host = "smtp.miodominio.it"; // default smtp server _port = "25"; // default smtp port _sport = "465"; // default socketfactory port _user = ""; // username _pass = ""; // password _from = ""; // email sent from _subject = ""; // email subject _body = ""; // email body _debuggable = false; // debug mode on or off - default off _auth = true; // smtp authentication - default on _multipart = new MimeMultipart(); // There is something wrong with MailCap, javamail can not find a // handler for the multipart/mixed part, so this bit needs to be added. MailcapCommandMap mc = (MailcapCommandMap) CommandMap .getDefaultCommandMap(); mc.addMailcap("text/html;; x-java-content-handler=com.sun.mail.handlers.text_html"); mc.addMailcap("text/xml;; x-java-content-handler=com.sun.mail.handlers.text_xml"); mc.addMailcap("text/plain;; x-java-content-handler=com.sun.mail.handlers.text_plain"); mc.addMailcap("multipart/*;; x-java-content-handler=com.sun.mail.handlers.multipart_mixed"); mc.addMailcap("message/rfc822;; x-java-content-handler=com.sun.mail.handlers.message_rfc822"); CommandMap.setDefaultCommandMap(mc); } public Mail(String user, String pass) { this(); _user = user; _pass = pass; } public boolean send() throws Exception { Properties props = _setProperties(); if (!_user.equals("") && !_pass.equals("") && _to.length > 0 && !_from.equals("") && !_subject.equals("") && !_body.equals("")) { Session session = Session.getInstance(props, this); MimeMessage msg = new MimeMessage(session); msg.setFrom(new InternetAddress(_from)); InternetAddress[] addressTo = new InternetAddress[_to.length]; for (int i = 0; i < _to.length; i++) { addressTo[i] = new InternetAddress(_to[i]); } msg.setRecipients(MimeMessage.RecipientType.TO, addressTo); msg.setSubject(_subject); msg.setSentDate(new Date()); // setup message body BodyPart messageBodyPart = new MimeBodyPart(); messageBodyPart.setText(_body); _multipart.addBodyPart(messageBodyPart); // Put parts in message msg.setContent(_multipart); // send email Transport.send(msg); return true; } else { return false; } } public void addAttachment(String filename) throws Exception { BodyPart messageBodyPart = new MimeBodyPart(); DataSource source = new FileDataSource(filename); messageBodyPart.setDataHandler(new DataHandler(source)); messageBodyPart.setFileName(filename); _multipart.addBodyPart(messageBodyPart); } @Override public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(_user, _pass); } private Properties _setProperties() { Properties props = new Properties(); props.put("mail.smtp.host", _host); if (_debuggable) { props.put("mail.debug", "true"); } if (_auth) { props.put("mail.smtp.auth", "true"); } props.put("mail.smtp.port", _port); props.put("mail.smtp.socketFactory.port", _sport); props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); props.put("mail.smtp.socketFactory.fallback", "false"); return props; } // the getters and setters public String getBody() { return _body; } public void setBody(String _body) { this._body = _body; } public String[] getTo() { return _to; } public void setTo(String[] toArr) { this._to = toArr; } public String getFrom() { return _from; } public void setFrom(String string) { this._from = string; } public String getSubject() { return _subject; } public void setSubject(String string) { this._subject = string; }
non riesce a fare la connessione. come risolvo?codice:W/System.err(2094): javax.mail.MessagingException: Could not connect to SMTP host: smtp.miodominio.it, port: 25; W/System.err(2094): nested exception is: W/System.err(2094): java.net.ConnectException: failed to connect to smtp.miodominio.it/62.xxx.xxx.xxx (port 465): connect failed: ETIMEDOUT (Connection timed out) W/System.err(2094): at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1391) W/System.err(2094): at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:412) W/System.err(2094): at javax.mail.Service.connect(Service.java:310) W/System.err(2094): at javax.mail.Service.connect(Service.java:169) W/System.err(2094): at javax.mail.Service.connect(Service.java:118) W/System.err(2094): at javax.mail.Transport.send0(Transport.java:188) W/System.err(2094): at javax.mail.Transport.send(Transport.java:118) W/System.err(2094): at it.tools.Mail.send(Mail.java:106) W/System.err(2094): at it.tesi.IscrizioneActivity$InviaEmailTask.doInBackground(IscrizioneActivity.java:369) W/System.err(2094): at it.tesi.IscrizioneActivity$InviaEmailTask.doInBackground(IscrizioneActivity.java:1) W/System.err(2094): at android.os.AsyncTask$2.call(AsyncTask.java:287) W/System.err(2094): at java.util.concurrent.FutureTask.run(FutureTask.java:234) W/System.err(2094): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) W/System.err(2094): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) W/System.err(2094): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) W/System.err(2094): at java.lang.Thread.run(Thread.java:856) W/System.err(2094): Caused by: java.net.ConnectException: failed to connect to smtp.miodominio.it/62.xxx.xxx.xxx (port 465): connect failed: ETIMEDOUT (Connection timed out) W/System.err(2094): at libcore.io.IoBridge.connect(IoBridge.java:114) W/System.err(2094): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192) W/System.err(2094): at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459) W/System.err(2094): at java.net.Socket.connect(Socket.java:842) W/System.err(2094): at java.net.Socket.connect(Socket.java:785) W/System.err(2094): at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:233) W/System.err(2094): at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:163) W/System.err(2094): at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1359) W/System.err(2094): ... 15 more W/System.err(2094): Caused by: libcore.io.ErrnoException: connect failed: ETIMEDOUT (Connection timed out) W/System.err(2094): at libcore.io.Posix.connect(Native Method) W/System.err(2094): at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:85) W/System.err(2094): at libcore.io.IoBridge.connectErrno(IoBridge.java:127) W/System.err(2094): at libcore.io.IoBridge.connect(IoBridge.java:112) W/System.err(2094): ... 22 more

LinkBack URL
About LinkBacks
Rispondi quotando
