Newsgroup: it.comp.java
Titolo: e-mail in java

Salve a tutti,
vorrei scrivere un programma java che spedisca una e-mail.
Qualcuno mi potrebbe dare una 'dritta?
(magari con un piccolo esempio)
grazie anticipatamente per le risposte


Non so se esiste una classe specifica per farlo. Io di norma, quando
non ho i protocolli per un server mi butto direttamente sulla classe
Socket e inizio a dare comandi al server. I comandi dei server di
posta li puoi trovare all'indirizzo "
www.spippolatori.com
". Ti spiega
come costruirti un messaggio partendo dall'intestazione, e trovi i
comandi per inviarlo.
Ciàh...!   ;-)

 grazie anticipatamente per le risposte
--
"Science is like sex: sometimes something useful comes out,
                      but that is not the reason we are doing it"
                                                -- Richard Feynman

 (magari con un piccolo esempio)
Questa classe che scrissi un po' di tempo fa e che usa le estensioni
JavaMail della Sun potrebbe fare al caso tuo.
package com.threeamigos.util;
import java.io.*;
import java.util.Hashtable;
import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class MailMessage
{
    public MailMessage()
    {
    }
    public MailMessage(String aFrom, String aTo, String aSubject, String
aBody)
    {
        new MailMessage();
        from = aFrom;
        to = aTo;
        subject = aSubject;
        body = aBody;
    }
    public void setFrom(String aFrom)
    {
        from = aFrom;
    }
    public String getFrom()
    {
        return from;
    }
    public void setTo(String aTo)
    {
        to = aTo;
    }
    public String getTo()
    {
        return to;
    }
    public void setSubject(String aSubject)
    {
        subject = aSubject;
    }
    public String getSubject()
    {
        return subject;
    }
    public void setBody(String aBody)
    {
        body = aBody;
    }
    public String getBody()
    {
        return body;
    }
    public void setMailServer(String aMailServer)
    {
        mailServer = aMailServer;
    }
    public String getMailServer()
    {
        return mailServer;
    }
    public static void setDefaultMailServer(String aMailServer)
    {
        defaultMailServer = aMailServer;
    }
    public static String getDefaultMailServer()
    {
        return defaultMailServer;
    }
    public void send()
        throws MessagingException
    {
        Properties props = new Properties();
        try
        {
            InternetAddress mailServerAddress = new
InternetAddress(mailServer);
            props.put("mail.smtp.host", mailServer);
        }
        catch(Exception e)
        {
            props.put("mail.smtp.host", defaultMailServer);
        }
        Session session = Session.getDefaultInstance(props, null);
        Message msg = new MimeMessage(session);
        InternetAddress sender = new InternetAddress(from);
        msg.setFrom(sender);
        InternetAddress consignee[] = {
            new InternetAddress(to)
        };
        msg.setRecipients(
javax.mail.Message.RecipientType.TO
,
consignee);
        if(subject != null && !subject.equals(""))
            msg.setSubject(subject);
        msg.setContent(body, "text/plain");
        Transport.send(msg);
    }
    public static void main(String args[])
    {
        if(args.length < 5)
        {
            System.out.println("Usage: MailMessage FROM TO SUBJECT -file
FILENAME");
            System.out.println("       MailMessage FROM TO SUBJECT -body
MESSAGE");
            System.exit(0);
        }
        String from = args[0];
        String to = args[1];
        String subject = args[2];
        String body;
        if("-file".equalsIgnoreCase(args[3]))
        {
            StringBuffer sb = new StringBuffer();
            try
            {
                BufferedReader b = new BufferedReader(new
FileReader(args[4]));
                String line;
                while((line = b.readLine()) != null)
                {
                    sb.append(line);
                    sb.append("\n");
                }
                body = sb.toString();
            }
            catch(Exception e)
            {
                body = "Error reading file " + args[4];
            }
        }
        else
        {
            body = args[4];
        }
        try
        {
            MailMessage mm = new MailMessage(from, to, subject, body);
            mm.send();
            System.out.println("Messaggio spedito a " + to);
        }
        catch(Exception mex)
        {
            mex.printStackTrace();
        }
    }
    private static String defaultMailServer = "mail";
    private String to;
    private String from;
    private String subject;
    private String body;
    private String mailServer;
}
Ciao,
 Stefano
----------
"X WindowSSS, teSSSoro mio... lo odieremo per SSSempre"
Bill Gollum
----------

Ma se devo fare un'applet,  da inserire nel mio sito, che spedisce una mail,
come posso fare? Che server devo inserire?
lgiu...@komodo.ing.unico.it

>
