Ho cercato per giorni di inviare posta dall'applicazione Grails e senza successo. Sto utilizzando:JavaMail con MS Exchange: nessun meccanismo di autenticazione supportato da server e client
- graal 1.3.7
- Mail 1.0 del plugin
- primavera-sicurezza-core 1.2.6 plug
- Tomcat 7.0.23
Specifficaly Sono provare a inviare posta con Exchange dall'applicazione distribuita sul server Tomcat tramite la porta 25 senza autenticazione, senza SSL.
Ho provato a inviare un messaggio con telnet dalla macchina virtuale VMWare su cui è stata distribuita l'app e ha ottenuto una depressione.
Questa è la mia classe per l'invio di posta elettronica:
public boolean sendMessage(String to, String msgSubject, String msgText)
{
String host = "mail.mydomain.com";
String username = "[email protected]"; // your authsmtp username
String password = "mypassword" // your authsmtp password
String from = "[email protected]";
Properties props = System.getProperties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.user", username);
props.put("mail.smtp.password", password);
props.put("mail.smtp.port", "25"); // thish is the port recommended by authsmtp
props.put("mail.smtp.auth", "false");
Session session = Session.getDefaultInstance(props, null);
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
InternetAddress to_address = new InternetAddress(to);
message.addRecipient(Message.RecipientType.TO, to_address);
message.setSubject(msgSubject);
message.setText(msgText);
Transport transport = session.getTransport("smtp");
transport.connect(host, username, password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
return true;
}
Questo è traccia di pila di errore:
javax.mail.AuthenticationFailedException: No authentication mechansims supported by both server and client
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:590)
at javax.mail.Service.connect(Service.java:291)
at javax.mail.Service.connect(Service.java:172)
at javax.mail.Service$connect.call(Unknown Source)
at org.helpdesk.MymailService.sendMessage(MymailService.groovy:37)
at org.helpdesk.MymailService$sendMessage.call(Unknown Source)
at org.helpdesk.RequestController$_closure13.doCall(RequestController.groovy:247)
at org.helpdesk.RequestController$_closure13.doCall(RequestController.groovy)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
ho letto poche decine di messaggi che considerano i problemi come questo, ma ho ancora havent gestire per risolvere il problema. Qualsiasi aiuto è apprezzato.
* MODIFICA: * È possibile che ci siano dei problemi nell'invio di e-mail utilizzando javaMail con il server SMTP di Exchange quando non c'è l'autenticazione?
È necessario configurare tutte le proprietà come "mail.smtp.host" in 'Config.groovy' –
@Don Ma come dire il mio metodo SendMessage a prendere configurazione della posta elettronica opzioni da Config.groovy? – drago
Devo eseguire alcune configurazioni su Tomcat per abilitare l'invio tramite e-mail? – drago