MAILTO Function

di il
6 risposte

MAILTO Function

Ciao a tutti!

Sto cercando di implementare un servizio automatico di mailing, ho visto che esiste una funzione "mailto" ma non sono riuscito ad usarla bene...qualcuno puo aiutarmi?
Vi posto un pezzo del codice a cui sto lavorando:

"if (word.equals("ERROR")) {
System.out.println("Hearthbeat FALLITI: " + counterTipoH_failure);

if (counterTipoH_failure >= 10 && counterTipoH_failure < 40) {
System.out.println("!WARNING!\nSono stati rilevati: " + counterTipoH_failure + " heartbeat error in giornata.");

}
if (counterTipoH_failure >= 40) {
System.out.println("!DANGER!\nSono stati rilevati: " + counterTipoH_failure + " heartbeat error in giornata.");
// MAILTO
}
"
Dovrei sostituire quel //MAILTO con una funzione (o un richiamo ad essa) per far sì che se si verifica quella determinata condizione venga spedita in automatico una mail ad un specifico indirizzo e con un messaggio pre-impostato.
Spero di essere stato chiaro e di trovare un'aiuto!

6 Risposte

  • Re: MAILTO Function

    Ragnar ha scritto:


    ho visto che esiste una funzione "mailto" ma non sono riuscito ad usarla bene...
    Ma di quale funzione mailto stai parlando???

    In Java per inviare e ricevere mail la API "standard" è la JavaMail API. Ma non si tratta di usare "una funzione". C'è da usare un po' di classi di JavaMail e tra l'altro richiede anche la configurazione del SMTP e di altro.
  • Re: MAILTO Function

    Ciao andbin!

    Io ho trovato questo:

    "public static void mailto(List<String> recipients, String subject,
    String body) throws IOException, URISyntaxException {
    String uriStr = String.format("mailto:%s?subject=%s&body=%s",
    join(",", recipients), // use semicolon ";" for Outlook!
    urlEncode(subject),
    urlEncode(body));
    Desktop.getDesktop().browse(new URI(uriStr));
    }

    private static final String urlEncode(String str) {
    try {
    return URLEncoder.encode(str, "UTF-8").replace("+", "%20");
    } catch (UnsupportedEncodingException e) {
    throw new RuntimeException(e);
    }
    }

    public static final String join(String sep, Iterable<?> objs) {
    StringBuilder sb = new StringBuilder();
    for(Object obj : objs) {
    if (sb.length() > 0) sb.append(sep);
    sb.append(obj);
    }
    return sb.toString();
    }

    public static void main(String[] args) throws IOException, URISyntaxException {
    mailto(Arrays.asList("", ""), "Hello!",
    "This is\nan automatically sent email!\n");
    }"

    Però mi da un errore su "Desktop.getDesktop().browse(new URI(uriStr));" , ovvero "This inspection finds all usage of methods that have @since tag in their documentation. This may be useful when development is performed under newer SDK version as the target platform for production."

    Hai qualche consiglio/soluzione? Sai dove potrei trovare degli esempi ed un po di documentazione su come attivare questo servizio di mailing?
  • Re: MAILTO Function

    Ragnar ha scritto:


    String uriStr = String.format("mailto:%s?subject=%s&body=%s",
    Ho capito ... stavi cercando di usare il "protocollo" mailto, che alla fin fine è un tipo di URI che viene usato tipicamente come hyperlink nelle pagine web per far aprire un client di posta con qualcosa di già preimpostato per la mail.

    Ragnar ha scritto:


    Però mi da un errore su "Desktop.getDesktop().browse(new URI(uriStr));" , ovvero "This inspection finds all usage of methods that have @since tag in their documentation. This may be useful when development is performed under newer SDK version as the target platform for production."
    Hai notato che Desktop ha il mail(URI mailtoURI)
    ??
  • Re: MAILTO Function

    In realtà no...come faccio a scoprirlo?
  • Re: MAILTO Function

    Ragnar ha scritto:


    In realtà no...come faccio a scoprirlo?
    Leggendo la documentazione javadoc
  • Re: MAILTO Function

    Seems legit ^^ Inizio a documentarmi!
Devi accedere o registrarti per scrivere nel forum
6 risposte